Получить переменные окружения удаленных серверов - PullRequest
4 голосов
/ 15 января 2010

Проблема: У нас есть приложения Cobol, которые запускаются со многих серверов (в основном сервера 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 голосов
/ 21 февраля 2012

Вот команда powershell:

gwmi win32_environment -computername dc1.acme.com

А если вам нужна сокращенная версия:

gwmi win32_environment -computername dc1.acme.com |select name,variablevalue |ft -auto
4 голосов
/ 15 января 2010

Не пробовал, но вы можете проверить это . например, vbscript, замените strComputer на IP-адрес вашего пульта и посмотрите, как он работает. Для многих удаленных хостов используйте цикл for.

...