Список процессов команд на удаленной машине с Invoke-Command

StackOverflow https://stackoverflow.com/questions/3490907

Вопрос

Я пытаюсь написать сценарий PowerShell, который примет список команд, а затем запустить их на удаленном компьютере, у меня есть следующий код:

foreach($command in $commands)
{
  Invoke-Command -computer "BNEBAK" -scriptblock{"$command"}
}

Который не бросает никакой ошибки, но и на самом деле не запускает команду (например, STOP-SERVICE SERVICENAME). $ Команды прочитаны из текстового файла, прошедшего в качестве аргумента, когда сценарий вызывается, я знаю, что остальная часть этого сценария работает, потому что я использую его, чтобы сделать локальные команды с вызовом в течение некоторого времени.

Любая помощь была бы фантастической.

Это было полезно?

Решение

Правильный код будет

$commands = @(get-content com.txt)
for($command in $commands) { 
  $scriptblock = $ExecutionContext.InvokeCommand.NewScriptBlock($command) 
  Invoke-Command -computer $computer -scriptblock $scriptblock 
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top