Как да рестартирате отдалечено компютър с Windows 10 с помощта на PowerShell

От време на време, най-вече, системен администратор ще трябва да рестартира сървър или система. Обикновено можете да изключите отдалечено или да рестартирате Windows 10(Remote Shut down or Restart Windows 10) чрез графичния потребителски интерфейс – PowerShell предоставя няколко метода за дистанционно рестартиране на компютър и ние ще очертаем 6-те известни метода в тази публикация.

Как да използвате PowerShell за рестартиране на отдалечен компютър

Как да рестартирате дистанционно(Remotely Restart) Windows 10 с помощта на PowerShell

Предпоставка за тези методи е да гарантираме, че можем да се свържем с отдалечените системи и да се удостоверим, ако е необходимо. Освен това трябва да проверите дали отдалечена система не чака рестартиране.

Ще ви трябва следното:

  • Потребителски акаунт на отдалечения компютър в групата на локалния администратор.
  • Windows PowerShell или PowerShell Core(Windows PowerShell or PowerShell Core) .

1] Рестартирайте(Restart) отдалечен компютър с Restart-Computer

Този командлет е лесен за използване с гъвкави параметри. Допълнителна предпоставка за работа на командата е да се уверите, че WinRM е конфигуриран и разрешен през защитната стена на Windows на отдалечения компютър(allowed through the remote computer’s Windows firewall) и че WMI е разрешен през защитната стена на Windows .

Restart-Computer -ComputerName $ComputerName -Force

За да рестартирате няколко компютъра паралелно, изпълнете следната команда:

$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3

2] Рестартирайте(Restart) отдалечен компютър с Invoke-CimMethod

Invoke-CimMethodРаботи чрез използване на WIM метод(WIM) за рестартиране на отдалечената система - въпреки че не е толкова гъвкав като Restart-Computerкомандлета.

Допълнителна предпоставка за работа на командата е да се уверите, че WinRM е конфигуриран и разрешен през защитната стена на Windows на отдалечения компютър .

Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'

3] Рестартирайте(Restart) отдалечен компютър с shutdown.exe

Това shutdown.exeе стандартният вграден изпълним файл, който Windows предлага за рестартиране на система, и това не е команда на PowerShell , но предлага стабилна серия от опции.

Допълнителна предпоставка за работа на командата е да се уверите, че на отдалечения компютър е активирана услугата за отдалечен регистър(Remote Registry) и WMI е разрешен през защитната стена на Windows .

shutdown.exe /m \\remotecomputer /r /t 0

4] Рестартирайте(Restart) отдалечен компютър с PSExec.exe

Една от най-използваните помощни програми в инструментариума Sysinternals предлага няколко уникални способности ,  psexec.exe които правят взаимодействието с отдалечена система лесно.

Допълнителна предпоставка за работата на командата е да се уверите, че SMB услугата(SMB Service) работи, споделянето на файлове и принтери е активирано(file and printer sharing is enabled) , простото споделяне на файлове е деактивирано и административният дял admin$ е наличен.

psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"

5] Рестартирайте(Restart) отдалечен компютър с RunDLL32.exe

Предлага  rundll32.exe начин за стартиране на определени методи срещу вътрешни изпълними файлове и API на Windows(Windows APIs) , като shell32.dll. Има два метода, чрез които можете да рестартирате система, като използвате тази функционалност, но този метод всъщност не може да се използва отдалечено сам, можете да го комбинирате с PowerShell чрез Invoke-Command отдалечена система.

Метод 1(Method 1) :

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

Метод 2(Method 2) :

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

6] Рестартирайте(Restart) отдалечен компютър с Taskkill.exe

Не на последно място, taskkill.exe е още една помощна програма за Windows , която предлага известна функционалност за рестартиране на Windows , макар и по заобиколен начин. Като прекратите  lsass.exe процеса, ще принудите рестартиране на Windows .

taskkill.exe /S \\remotecomputer /IM lsass.exe /F

Това е всичко за 6-те начина да използвате PowerShell за рестартиране на отдалечен компютър!



About the author

Аз съм компютърен професионалист, който има опит в работата със софтуер на Microsoft Office, включително Excel и PowerPoint. Имам опит и с Chrome, който е браузър, собственост на Google. Моите умения включват отлична писмена и устна комуникация, решаване на проблеми и критично мислене.



Related posts