2010-10-11 5 views
1

Я не могу запустить удаленную установку компонента Windows на удаленном сервере с помощью sysocmgr.exe. Он работает с psexec.exe \\ServerName -i sysocmgr.exe /i:%wnidir%\inf\sysoc.inf /u:\\path\to\components.txt, но я хочу достичь тех же результатов, используя дистанционное управление powershell.Запустите sysocmgr.exe на удаленном сервере с помощью удаленного доступа powershell

У меня есть полномочия с удалением WinRM, но я не могу запустить удаленно sysocmgr.exe с помощью PowerShell.

Что я сделал на обоих серверах (локальных и удаленных):

  1. Set-ExecutionPolicy unrestricted
  2. Enable-PSRemoting - OK
  3. Set-Item WSMan:\localhost\Client\TrustedHosts *
  4. Я перезапустил службу WinRM, и она работает

Имея все это, работая на обоих серверах, я установил постоянный Удаленный сеанс с помощью New-PSSession:

$s = NewPSSession -ComputerName Server1 

Затем я попытался запустить Powershell скрипт (script.ps1), который сохраняется на доступной долю на все сервера и содержит:

sysocmgr.exe /i:%wnidir%\inf\sysoc.inf /u:\\path\to\components.txt 

Я использовал Invoke-Command :

Invoke-Command -Session $s -FilePath \\NetworkShare\Scripts\script.ps1 

После запуска выше Invoke-Command можно увидеть на удаленном сервере (server1) в диспетчере задач, что Sysocmgr.exe работает, но он ничего не делает. Установка компонентов Windows не запускается ...

Я попытался с помощью:

enter-pssession -computername Server1 - работал отлично я пытался запустить script1.ps1 и это то же самое, что я могу видеть Sysocmgr.exe в задаче менеджер, но он ничего не делает ...

Я думаю, что мне не хватает какой-либо параметр для взаимодействия с рабочим столом, как в PsExec «-o» параметр, который я не могу найти в ... PowerShell

Спасибо для вашей помощи.

ответ

0

Я ожидал бы сценарий PowerShell, чтобы выглядеть следующим образом:

sysocmgr.exe "/i:${env:windir}\inf\sysoc.inf" "/u:\path\to\components.txt" 
+0

К сожалению, PowerShell может обрабатывать оба типа переменных, хотя% Windir% работает отлично, а также $ {ENV: Windir} но ни решена проблема. Я также добавил двойные кавычки, но он все еще не работает ... – kubusz

+0

PowerShell сам не узнает «% var%». BTW, была опечатка «% wnidir%» только в вашем посте или в вашем коде? – JasonMArcher

+0

Вы когда-нибудь решали свою проблему? У меня возникла проблема, которую вы видите. – Sune