структура данных для сценария powershell - PullRequest
3 голосов
/ 29 июля 2010

Я пытаюсь написать сценарий powershell, который будет принимать текстовый файл (или xml-файл, или любой другой файл) со списком servername и именами некоторых служб на этом сервере для остановки. Я могу заставить powershell читать строку из текстового файла, но не могу понять, как заставить powershell импортировать данные в отдельную переменную, чтобы я мог передавать ее другим функциям. если бы это были аргументы, это кажется тривиальным, но должен быть простой способ сделать это, а не я, используя регулярное выражение в каждой строке.

1 Ответ

6 голосов
/ 29 июля 2010

Рассмотрим XML ниже:

$xml = [xml]@"
<Servers>
    <Server name="SERVER1">
        <Process>Process1</Process>
        <Process>Process2</Process>
    </Server>
    <Server name="SERVER2">
        <Process>Process3</Process>
    </Server>
</Servers>
"@

Вы можете обработать переменную $xml следующим образом:

foreach ($server in $xml.Servers.Server) {
    foreach ($process in $server.Process) {

        # Execute your kill script here.

    }
}

Для сценария уничтожения на удаленных компьютерах вы можете использовать командлет Invoke-Script (требуется включить PSRemoting), либо PsExec, либо WMI, в зависимости от того, что вам больше подходит. Переменные $server и $process потребуются для выполнения уничтожения правильного процесса на правильном сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...