От време на време, най-вече, системният администратор ще трябва да рестартира сървър или система. Обикновено можете дистанционно да се свържете със система и да рестартирате / изключите системата чрез графичния потребителски интерфейс - PowerShell предоставя няколко метода за дистанционно рестартиране на компютър и ще очертаем 6-те известни метода в тази публикация.
Рестартирайте компютър с Windows отдалечено с помощта на PowerShell
Предпоставка за тези методи е да гарантираме, че можем да се свържем с отдалечените системи и да удостоверим при необходимост. Освен това трябва да проверите дали отдалечената система не чака рестартиране.
Ще ви трябва следното:
- Потребителски акаунт на отдалечения компютър в групата на локалния администратор.
- Windows PowerShell или PowerShell Core.
1] Рестартирайте отдалечен компютър с Restart-Computer
Тази команда е лесна за използване с гъвкави параметри. Допълнителна предпоставка за работа на командата е да се гарантира, че WinRM е конфигуриран и разрешен през защитната стена на отдалечения компютър и че WMI е разрешен през защитната стена на Windows.
Restart-Computer -ComputerName $ ComputerName -Force
За да рестартирате няколко компютъра паралелно, изпълнете следната команда:
$ ComputerArray | ForEach-Object -Parallel Restart-Computer -ComputerName $ _ -Force -ThrottleLimit 3
2] Рестартирайте отдалечен компютър с Invoke-CimMethod
The Invoke-CimMethod
работи чрез използване на WIM метод за рестартиране на отдалечената система - макар и не толкова гъвкав като Рестартирайте-Компютър
cmdlet.
Допълнителна предпоставка за работа на командата е да се гарантира, че WinRM е конфигуриран и разрешен през защитната стена на отдалечения компютър на Windows.
Invoke-CimMethod -ComputerName $ ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
3] Рестартирайте отдалечен компютър със спиране.exe
The изключвам.exe
е стандартният вграден изпълним файл, който Windows предлага за рестартиране на система, и това не е команда PowerShell, но предлага стабилна серия от опции.
Допълнителна предпоставка за работа на командата е да се гарантира, че отдалеченият компютър има активирана услугата за отдалечен регистър и разрешен WMI през защитната стена на Windows.
изключвам.exe / m \\ отдалечен компютър / r / t 0
4] Рестартирайте отдалечен компютър с PSExec.exe
Една от най-използваните помощни програми в инструментариума Sysinternals, psexec.exe
предлага няколко уникални способности, които улесняват взаимодействието с отдалечена система.
Допълнителна предпоставка за работа на командата е, уверете се, че SMB услугата работи, споделянето на файлове и принтери е активирано, простото споделяне на файлове е деактивирано и административният административен дял $ е достъпен.
psexec.exe -d -h \\ отдалечен компютър "изключване.exe / r / t 0 / f "
5] Рестартирайте отдалечен компютър с RunDLL32.exe
The rundll32.exe
предлага начин за стартиране на определени методи срещу вътрешни изпълними файлове и API на Windows, като shell32.dll. Има два метода, по които можете да рестартирате система, използвайки тази функционалност, но този метод не може да се използва дистанционно сам по себе си, можете да комбинирате това с PowerShell чрез Invoke-Command
на отдалечена система.
Метод 1:
Invoke-Command -ComputerName $ ComputerName -ScriptBlock & rundll32.exe потребител.exe ExitWindowsExec
Метод 2:
Invoke-Command -ComputerName $ ComputerName -ScriptBlock & rundll32.exe потребител.exe ExitWindowsExec
6] Рестартирайте отдалечен компютър с Taskkill.exe
Не на последно място, taskkill.exe
е друга програма за Windows, която предлага известна функционалност за рестартиране на Windows, макар и по заобиколен начин. Чрез прекратяване на lsass.exe
процес, ще принудите рестартиране на Windows.
taskkill.exe / S \\ отдалечен компютър / IM lsass.exe / F
Това е всичко за 6-те начина за използване на PowerShell за рестартиране на отдалечен компютър!