PowerShell kullanarak Windows bilgisayarı uzaktan yeniden başlatma
Ara sıra, özellikle de bir sistem yöneticisinin bir sunucuyu veya sistemi yeniden başlatması gerekecektir. Genellikle grafik kullanıcı arayüzü aracılığıyla Windows'u Uzaktan Kapatabilir veya Yeniden Başlatabilirsiniz. PowerShell, bir bilgisayarı uzaktan yeniden başlatmak için çeşitli yöntemler sağlar ve bu yazıda bilinen 6 yöntemi özetleyeceğiz.
PowerShell Kullanarak Windows 11/10 Uzaktan Nasıl Yeniden Başlatılır
Bu yöntemlerin ön koşulu, uzaktaki sistemlerle iletişim kurabilmemizi ve gerektiğinde kimlik doğrulaması yapabilmemizi sağlamaktır. Ayrıca uzaktaki sistemin yeniden başlatılmayı beklemediğini de doğrulamanız gerekir.
Aşağıdakilere ihtiyacınız olacak:
Yerel yönetici grubundaki uzak bilgisayardaki bir kullanıcı hesabı.
-
Windows PowerShell veya PowerShell Çekirdeği.
1. Uzak bilgisayarı Restart-Computer ile yeniden başlatın
Bu cmdlet'in esnek parametrelerle kullanımı kolaydır. Komutun çalışması için ek bir ön koşul, WinRM'nin uzak bilgisayarın Windows güvenlik duvarı üzerinden yapılandırıldığından ve izin verildiğinden ve WMI'ya Windows güvenlik duvarı üzerinden izin verildiğinden emin olmaktır.
Restart-Computer -ComputerName $ComputerName -ForceBirden fazla bilgisayarı paralel olarak yeniden başlatmak için aşağıdaki komutu çalıştırın:
$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 32. Uzak bilgisayarı Invoke-CimMethod ile yeniden başlatın
Invoke-CimMethod uzak sistemi yeniden başlatmak için bir WIM yöntemi kullanarak çalışır; ancak Restart-Computer cmdlet'i kadar esnek değildir.
Komutun çalışması için ek bir ön koşul, WinRM'nin uzak bilgisayarın Windows güvenlik duvarı üzerinden yapılandırıldığından ve izin verildiğinden emin olmaktır.
Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'3. Uzaktaki bilgisayarı Shutdown.exe ile yeniden başlatın.
shutdown.exe, Windows'un bir sistemi yeniden başlatmak için sunduğu standart yerleşik yürütülebilir dosyadır ve bir PowerShell komutu değildir ancak bir dizi sağlam seçenek sunar.
Komutun çalışması için ek bir ön koşul, uzak bilgisayarda Uzak Kayıt Defteri hizmetinin etkin olduğundan ve Windows güvenlik duvarı aracılığıyla WMI'ya izin verildiğinden emin olmaktır.
shutdown.exe /m \\remotecomputer /r /t 04. Uzak bilgisayarı PSExec.exe ile yeniden başlatın
Sysinternals araç seti içinde en çok kullanılan yardımcı programlardan biri olan psexec.exe, uzaktaki bir sistemle etkileşimi kolaylaştıran çeşitli benzersiz yetenekler sunar.
Komutun çalışması için ek bir ön koşul, SMB Hizmetinin çalıştığından, dosya ve yazıcı paylaşımının etkinleştirildiğinden, basit dosya paylaşımının devre dışı olduğundan ve admin$yönetim paylaşımının mevcut olduğundan emin olmaktır.
psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"5. Uzak bilgisayarı RunDLL32.exe ile yeniden başlatın
rundll32.exe, belirli yöntemleri dahili yürütülebilir dosyalara ve Shell32.dll gibi Windows API'lerine karşı çalıştırmanın bir yolunu sunar. Bu işlevi kullanarak bir sistemi yeniden başlatmanın iki yöntemi vardır ancak bu yöntem aslında tek başına uzaktan kullanılamaz. Bunu, uzak bir sistemdeki Invoke-Command aracılığıyla PowerShell ile birleştirebilirsiniz.
1. Yöntem:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }2. Yöntem:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }6. Uzak bilgisayarı Taskkill.exe ile yeniden başlatın
Son olarak, taskkill.exe, dolaylı yoldan da olsa Windows'u yeniden başlatmak için bazı işlevler sunan başka bir Windows yardımcı programıdır. lsass.exe işlemini sonlandırdığınızda, Windows'un yeniden başlatılmasını zorlamış olursunuz.
taskkill.exe /S \\remotecomputer /IM lsass.exe /FUzak bir bilgisayarı yeniden başlatmak için PowerShell'i kullanmanın 6 yolu bu kadar!
