2013-09-21 3 views
0

Я пытаюсь запустить следующую команду на одном из моих серверов.Почему psexec застревает после показа eula?

$dotnetFrameworkInstalled = psexec -accepteula \\server1 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' 'Import-Module ServerManager; 
$feature = Get-WindowsFeature -ErrorAction Stop | Where-Object { $_.Name -eq ''NET-Framework'' }; 
Write-Output $feature.Installed' 

Похоже, что это застряло после отображения в окне вывода следующего.

psexec : 
At C:\temp\Untitled1.ps1:2 char:30 
+ $dotnetFrameworkInstalled = psexec -accepteula \\server1 'C:\Windows\Syst ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

PsExec v1.98 - Execute processes remotely 
Copyright (C) 2001-2010 Mark Russinovich 
Sysinternals - www.sysinternals.com 

Но эта же команда работает с другим сервером (server2).

+0

Кончик форматирования: так как ';' это разделитель операторов в Powershell, вы можете добавить те на новых линиях и сделать ваш код немного легче следовать в теле вопроса. Содержимое, следующее за трубой '' ', также очень читаемо для размещения на новой строке. –

ответ

0

Что такое psexec? Я думаю, что просто вопрос анализа аргументов. пожалуйста, включите использовать Start-Process Start-Process -FilePath "PsExec" -ArgumentList "-accepteula ...."

+0

Спасибо за ваш ответ. PsExec - это легкая замена telnet, которая позволяет выполнять процессы в других системах с полной интерактивностью для консольных приложений без необходимости вручную устанавливать клиентское программное обеспечение. Для получения дополнительной информации о psexec - http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx. – x1877

Смежные вопросы