Οι διαχειριστές συστήματος χρειάζονται συχνά επανεκκίνηση των υπολογιστών με Windows από απόσταση για συντήρηση, ενημερώσεις ή αντιμετώπιση προβλημάτων. Το PowerShell παρέχει αρκετές αποτελεσματικές μεθόδους για την ολοκλήρωση αυτής της εργασίας. Αυτό το άρθρο διερευνά έξι αποτελεσματικές τεχνικές για την απομακρυσμένη επανεκκίνηση υπολογιστών με Windows χρησιμοποιώντας το PowerShell, που κυμαίνονται από απλά cmdlet έως πιο προηγμένες προσεγγίσεις.
Προϋποθέσεις για απομακρυσμένη επανεκκίνηση
Πριν επιχειρήσετε να επανεκκινήσετε έναν απομακρυσμένο υπολογιστή με Windows, βεβαιωθείτε ότι έχετε:
- Ένας λογαριασμός χρήστη με δικαιώματα τοπικού διαχειριστή στον απομακρυσμένο υπολογιστή.
- Το PowerShell ή το PowerShell Core είναι εγκατεστημένο στον τοπικό σας υπολογιστή.
- Η απομακρυσμένη διαχείριση των Windows (WinRM) έχει ρυθμιστεί και επιτρέπεται μέσω του τείχους προστασίας του απομακρυσμένου υπολογιστή.
- Το Windows Management Instrumentation (WMI) επιτρέπεται μέσω του τείχους προστασίας του απομακρυσμένου υπολογιστή.
Είναι επίσης σημαντικό να επαληθεύσετε ότι το απομακρυσμένο σύστημα δεν εκκρεμεί ήδη μια επανεκκίνηση πριν προχωρήσετε σε οποιεσδήποτε εντολές επανεκκίνησης.
Μέθοδος 1: Χρήση του Restart-Computer Cmdlet
ΟRestart-ComputerΤο cmdlet είναι η πιο απλή και ευέλικτη μέθοδος για την επανεκκίνηση απομακρυσμένων υπολογιστών με Windows.
Βήμα 1:Ανοίξτε το PowerShell ως διαχειριστής στον τοπικό σας υπολογιστή.
Βήμα 2:Χρησιμοποιήστε την ακόλουθη εντολή για επανεκκίνηση ενός απομακρυσμένου υπολογιστή:
Restart-Computer -ComputerName "RemotePC" -Force
Αντικαταστήστε το "RemotePC" με το πραγματικό όνομα ή τη διεύθυνση IP του απομακρυσμένου υπολογιστή που θέλετε να επανεκκινήσετε.
Βήμα 3:Για να κάνετε επανεκκίνηση πολλών υπολογιστών παράλληλα, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3
Αυτή η εντολή χρησιμοποιεί τις δυνατότητες παράλληλης επεξεργασίας του PowerShell για την επανεκκίνηση πολλών υπολογιστών ταυτόχρονα, με όριο γκαζιού 3 για τον έλεγχο της χρήσης πόρων.
Μέθοδος 2: Μόχλευση Invoke-CimMethod
ΟInvoke-CimMethodΤο cmdlet χρησιμοποιεί το Windows Management Instrumentation (WMI) για την επανεκκίνηση του απομακρυσμένου συστήματος.
Βήμα 1:Ανοίξτε το PowerShell ως διαχειριστής.
Βήμα 2:Εκτελέστε την ακόλουθη εντολή:
Invoke-CimMethod -ComputerName "RemotePC" -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
Αντικαταστήστε το "RemotePC" με το όνομα ή τη διεύθυνση IP του υπολογιστή προορισμού.
Αυτή η μέθοδος είναι ιδιαίτερα χρήσιμη όταν εργάζεστε με συστήματα που έχουν συγκεκριμένες διαμορφώσεις WMI ή όταν πρέπει να εκτελέσετε άλλες εργασίες που σχετίζονται με το WMI παράλληλα με τη λειτουργία επανεκκίνησης.
Μέθοδος 3: Χρήση της εντολής shutdown.exe
Οshutdown.exeΗ εντολή είναι ένα ενσωματωμένο βοηθητικό πρόγραμμα των Windows που μπορεί να χρησιμοποιηθεί για επανεκκίνηση απομακρυσμένων υπολογιστών.
Βήμα 1:Ανοίξτε το PowerShell ως διαχειριστής.
Βήμα 2:Εκτελέστε την ακόλουθη εντολή:
shutdown.exe /m \RemotePC /r /t 0
Αντικαταστήστε το "RemotePC" με το όνομα του απομακρυσμένου υπολογιστή που θέλετε να επανεκκινήσετε.
Αυτή η μέθοδος απαιτεί την ενεργοποίηση της υπηρεσίας Remote Registry στον απομακρυσμένο υπολογιστή και το WMI να επιτρέπεται μέσω του τείχους προστασίας των Windows.
Μέθοδος 4: Χρήση του PSExec.exe
Το PSExec.exe είναι μέρος της εργαλειοθήκης Sysinternals και προσφέρει μοναδικές δυνατότητες αλληλεπίδρασης με απομακρυσμένα συστήματα.
Βήμα 1:Πραγματοποιήστε λήψη και εγκατάσταση της σουίτας Sysinternals από τον επίσημο ιστότοπο της Microsoft.
Βήμα 2:Ανοίξτε το PowerShell ως διαχειριστής και μεταβείτε στον κατάλογο που περιέχει το PSExec.exe.
Βήμα 3:Εκτελέστε την ακόλουθη εντολή:
.psexec.exe -d -h \RemotePC "shutdown.exe /r /t 0 /f"
Αντικαταστήστε το "RemotePC" με το όνομα του υπολογιστή προορισμού.
Αυτή η μέθοδος απαιτεί την εκτέλεση της υπηρεσίας SMB, την ενεργοποίηση της κοινής χρήσης αρχείων και εκτυπωτών, την απενεργοποίηση της απλής κοινής χρήσης αρχείων και το κοινόχρηστο στοιχείο διαχειριστή admin$ να είναι διαθέσιμο στον απομακρυσμένο υπολογιστή.
Μέθοδος 5: Χρήση RunDLL32.exe μέσω Invoke-Command
Αυτή η μέθοδος συνδυάζειrundll32.exeμε το PowerShell'sInvoke-Commandγια επανεκκίνηση ενός απομακρυσμένου συστήματος.
Βήμα 1:Ανοίξτε το PowerShell ως διαχειριστής.
Βήμα 2:Εκτελέστε μία από τις ακόλουθες εντολές:
Μέθοδος 5α:
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe user.exe,ExitWindowsExec }
Μέθοδος 5β:
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe shell32.dll,SHExitWindowsEx 2 }
Αντικαταστήστε το "RemotePC" με το όνομα ή τη διεύθυνση IP του απομακρυσμένου υπολογιστή.
Αυτές οι μέθοδοι είναι χρήσιμες όταν πρέπει να εκτελέσετε πρόσθετες απομακρυσμένες λειτουργίες παράλληλα με τη διαδικασία επανεκκίνησης.
Μέθοδος 6: Επιβολή επανεκκίνησης με το Taskkill.exe
Αυτή η μέθοδος αναγκάζει μια επανεκκίνηση των Windows τερματίζοντας μια κρίσιμη διαδικασία συστήματος.
Βήμα 1:Ανοίξτε το PowerShell ως διαχειριστής.
Προτείνεται να διαβάσετε:Πώς να τερματίσετε απομακρυσμένα ή να επανεκκινήσετε έναν υπολογιστή με Windows
Βήμα 2:Εκτελέστε την ακόλουθη εντολή:
taskkill.exe /S \RemotePC /IM lsass.exe /F
Αντικαταστήστε το "RemotePC" με το όνομα του υπολογιστή προορισμού.
Προσοχή:Αυτή η μέθοδος θα πρέπει να χρησιμοποιηθεί ως έσχατη λύση, καθώς τερματίζει δυναμικά μια κρίσιμη διαδικασία των Windows. Μπορεί να οδηγήσει σε απώλεια δεδομένων ή αστάθεια του συστήματος εάν δεν χρησιμοποιηθεί προσεκτικά.
Αυτές οι έξι μέθοδοι παρέχουν στους διαχειριστές συστήματος μια σειρά επιλογών για την απομακρυσμένη επανεκκίνηση υπολογιστών με Windows χρησιμοποιώντας το PowerShell. Επιλέξτε τη μέθοδο που ταιριάζει καλύτερα στις συγκεκριμένες απαιτήσεις και τη διαμόρφωση του δικτύου σας. Θυμηθείτε να δοκιμάσετε αυτές τις εντολές σε ελεγχόμενο περιβάλλον πριν τις χρησιμοποιήσετε σε μια ρύθμιση παραγωγής.













