获取远程服务器环境变量

4
问题:我们有许多运行在网络上的 Cobol 应用程序(大多数是 server 2003),这些应用程序使用环境变量进行设置。
问题:从一个工作站可以收集已知远程服务器的完整环境变量列表吗?最理想的情况是使用批处理、VBS 或 Powershell 完成。
答案:使用 VBS。
GetEnvironment("[RemoteServersName]")

Function GetEnvironment(ServerName)

    strComputer = ServerName
    Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
    Set objSWbemServices = objSWbemLocator.ConnectServer _
        (strComputer, "root\cimv2", "[ValidLogonName]", "[PasswordForLogonName]")
    objSWbemServices.Security_.ImpersonationLevel = 3
    Set colVar = objSWbemServices.ExecQuery( _
        "Select * from Win32_Environment")
    For Each objVar in colVar
            WScript.StdOut.Write("Server Name: " & ServerName & VBNewLine)
            WScript.StdOut.Write("Description: " & objVar.Description & VBNewLine)
            WScript.StdOut.Write("Name: " & objVar.Name & VBNewLine)
            WScript.StdOut.Write("System Variable: " & objVar.SystemVariable & VBNewLine)
            WScript.StdOut.Write("User Name: " & objVar.UserName & VBNewLine)
            WScript.StdOut.Write("Variable Value: " & objVar.VariableValue & VBNewLine & VBNewLine)
    Next

End Function
2个回答

7

这是powershell命令:

gwmi win32_environment -computername dc1.acme.com

如果您需要简明版:

gwmi win32_environment -computername dc1.acme.com |select name,variablevalue |ft -auto

4

我没有尝试过,但你可以查看这里。示例是vbscript,将strComputer更改为远程计算机的IP地址,然后查看它的运行情况。对于许多远程主机,请使用for循环。


不得不使用这个页面 http://msdn.microsoft.com/en-us/library/aa389290(VS.85).aspx,但还是谢谢! - Random Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接