2014-09-03 3 views
0

Я создал скрипт для отмены изменений, сделанных Enable-PSRemoting на основе http://blogs.technet.com/b/bshukla/archive/2011/04/28/how-revert-changes-made-by-enable-psremoting.aspxотменить изменения, сделанные Enable-PSRemoting

Когда я введите следующие команды в Powershell консоли, она работает, как ожидалось, то он отключает PSRemoting

c:\> winrm delete winrm/config/listener?address=*+transport=HTTP 

c:\> Stop-Service winrm 

c:\> Set-Service -Name winrm -StartupType Disabled 

c:\> Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Type dword -Value 0 

Когда я выполнить скрипт

$scriptblock = {winrm delete winrm/config/listener?address=*+transport=HTTP} 

$host_name = (hostname.exe) 

Invoke-Command -ScriptBlock $scriptblock -ComputerName $host_name 

Stop-Service winrm 

Set-Service -Name winrm -StartupType Disabled 

Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Type dword -Value 0 

Я получаю ненужную

WARNING: The network connection to local_computer has been interrupted. Attempting to reconnect for up to 4 minutes... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: Attempting to reconnect to local_computer ... 
WARNING: The reconnection attempt to local_computer failed. Attempting to disconnect the session... 
WARNING: Computer local_computer has been successfully disconnected. 
Invoke-Command : Network connectivity to local_computer has been lost and the reconnection attempt failed. Please repair the network connection and reconnect using Connect-PSSession or Receive-PSSession. 
At C:\share\ps_disable.ps1:6 char:1 
+ Invoke-Command -ScriptBlock $scriptblock -ComputerName $host_name 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : OperationTimeout: ([PSSession]Session5:PSSession) [Invoke-Command], RuntimeException 
    + FullyQualifiedErrorId : PowerShellNetworkFailedStartDisconnect,Microsoft.PowerShell.Commands.InvokeCommandCommand 

WARNING: Session Session5 with instance ID c7243bdf-bb9f-49c1-a1b0-9798969b0f99 on computer local_computer has been successfully disconnected. 
WARNING: Session Session5 with instance ID c7243bdf-bb9f-49c1-a1b0-9798969b0f99 has been created for reconnection. 
  1. Как я устранить «ВНИМАНИЕ .....»
  2. Как улучшить скорость исполнения вместо него принимать 4 минуты, т.е. Attempting to reconnect for up to 4 minutes
  3. Как решить Invoke-Command: Подключение к сети на local_computer был потерян, и попытка повторного подключения не удалась.
+1

Вы пробовали переключатель -InDisconnectedSession для Invoke-Command? Он может заботиться обо всех трех проблемах. – TheMadTechnician

+0

@ TheMadTechnician работает, спасибо! – Glowie

ответ

1

Перемещение его на ответ, чтобы вопрос можно было решить.

Использование -InDisconnectedSession немедленно отключает сеанс, выполняемый командой, так что потеря связи не остановит сценарий или не вызовет предупреждения. Он вернет объект PSSession, который вы можете использовать позже, чтобы получить результаты команды.

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