Då och då, framför allt, kommer en systemadministratör att behöva starta om en server eller ett system. Vanligtvis kan du fjärransluta till ett system och starta om / stänga av systemet via det grafiska användargränssnittet - PowerShell ger flera metoder för att starta om en dator på distans och vi kommer att beskriva de 6 kända metoderna i det här inlägget.
Starta om en Windows-dator på distans med PowerShell
En förutsättning för dessa metoder är att säkerställa att vi kan kontakta fjärrsystemen och verifiera vid behov. Och du måste också verifiera att ett fjärrsystem inte väntar på omstart.
Du behöver följande:
- Ett användarkonto på fjärrdatorn i den lokala administratörens grupp.
- Windows PowerShell eller PowerShell Core.
1] Starta om en fjärrdator med Restart-Computer
Denna cmdlet är enkel att använda med flexibla parametrar. En ytterligare förutsättning för att kommandot ska fungera är att se till att WinRM är konfigurerad och tillåten via fjärrdators Windows-brandvägg och att WMI tillåts genom Windows-brandväggen.
Starta om-dator -ComputerName $ ComputerName -Force
För att starta om flera datorer parallellt, kör följande kommando:
$ ComputerArray | ForEach-Object -Parallel Restart-Computer -ComputerName $ _ -Force -TrottleLimit 3
2] Starta om en fjärrdator med Invoke-CimMethod
De Invoke-CimMethod
fungerar med en WIM-metod för att starta om fjärrsystemet - men inte så flexibelt som Starta om dator
cmdlet.
En ytterligare förutsättning för att kommandot ska fungera är att se till att WinRM är konfigurerad och tillåten via fjärrdators Windows-brandvägg.
Invoke-CimMethod -ComputerName $ ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
3] Starta om en fjärrdator med avstängning.exe
De stänga av.exe
är den inbyggda standardkörbara filen som Windows erbjuder för att starta om ett system, och det är inte ett PowerShell-kommando utan erbjuder en robust serie alternativ.
En ytterligare förutsättning för att kommandot ska fungera är att se till att fjärrdatorn har fjärrregistret aktiverat och WMI tillåts genom Windows-brandväggen.
stänga av.exe / m \\ fjärrdator / r / t 0
4] Starta om en fjärrdator med PSExec.exe
Ett av de mest använda verktygen i Sysinternals verktygslåda, psexec.exe
erbjuder flera unika förmågor som gör det enkelt att interagera med ett fjärrsystem.
En ytterligare förutsättning för att kommandot ska fungera är, se till att SMB-tjänsten körs, fil- och skrivardelning är aktiverad, enkel fildelning är inaktiverad och admin $ administrativ delning är tillgänglig.
psexec.exe -d -h \\ fjärrdator "avstängning.exe / r / t 0 / f "
5] Starta om en fjärrdator med RunDLL32.exe
De rundll32.exe
erbjuder ett sätt att köra vissa metoder mot interna körbara filer och Windows API: er, till exempel shell32.dll. Det finns två metoder som du kan starta om ett system med denna funktionalitet men den här metoden kan faktiskt inte användas på distans av sig själv, du kan kombinera detta med PowerShell via en Anropa-kommando
på ett fjärrsystem.
Metod 1:
Invoke-Command -ComputerName $ ComputerName -ScriptBlock & rundll32.exe-användare.exe ExitWindowsExec
Metod 2:
Invoke-Command -ComputerName $ ComputerName -ScriptBlock & rundll32.exe-användare.exe ExitWindowsExec
6] Starta om en fjärrdator med Taskkill.exe
Sist men inte minst, taskkill.exe
är ett annat Windows-verktyg som erbjuder viss funktionalitet för att starta om Windows, men på en rondell. Genom att avsluta lsass.exe
processen kommer du att tvinga en Windows-omstart.
taskkill.exe / S \\ fjärrdator / IM lsass.exe / F
Det är det på de 6 sätten att använda PowerShell för att starta om en fjärrdator!