Πώς να κάνετε απομακρυσμένη επανεκκίνηση του υπολογιστή 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(Restart-Computer)

Αυτό το cmdlet είναι απλό στη χρήση με ευέλικτες παραμέτρους. Μια επιπλέον προϋπόθεση για να λειτουργήσει η εντολή είναι να βεβαιωθείτε ότι το 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)

Λειτουργεί Invoke-CimMethodχρησιμοποιώντας μια μέθοδο WIM για την επανεκκίνηση του απομακρυσμένου συστήματος – αν και όχι τόσο ευέλικτο όσο το Restart-Computercmdlet.

Μια επιπλέον προϋπόθεση για να λειτουργήσει η εντολή είναι να βεβαιωθείτε ότι το WinRM έχει ρυθμιστεί και επιτρέπεται μέσω του τείχους προστασίας των Windows του απομακρυσμένου υπολογιστή.(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(PSExec.exe)

Ένα από τα πιο χρησιμοποιούμενα βοηθητικά προγράμματα στην εργαλειοθήκη Sysinternals ,  psexec.exe προσφέρει πολλές μοναδικές ικανότητες που κάνουν εύκολη την αλληλεπίδραση με ένα απομακρυσμένο σύστημα.

Μια πρόσθετη προϋπόθεση για να λειτουργήσει η εντολή είναι να βεβαιωθείτε ότι εκτελείται η Υπηρεσία SMB , η (SMB Service)κοινή χρήση αρχείων και εκτυπωτών είναι ενεργοποιημένη(file and printer sharing is enabled) , η απλή κοινή χρήση αρχείων είναι απενεργοποιημένη και η κοινή χρήση διαχειριστή $ είναι διαθέσιμη.

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

5] Επανεκκινήστε(Restart) έναν απομακρυσμένο υπολογιστή με το RunDLL32.exe(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)

Τελευταίο αλλά όχι λιγότερο σημαντικό, taskkill.exe είναι ένα άλλο βοηθητικό πρόγραμμα των Windows που προσφέρει κάποια λειτουργικότητα για την επανεκκίνηση των Windows(Windows) , αν και με κυκλικό τρόπο. Τερματίζοντας τη  lsass.exe διαδικασία, θα αναγκάσετε την επανεκκίνηση των Windows .(Windows)

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

Αυτό είναι στους 6 τρόπους χρήσης του PowerShell για επανεκκίνηση ενός απομακρυσμένου υπολογιστή!



About the author

Ο Josh έχει πάνω από 10 χρόνια εμπειρίας στη βιομηχανία λογισμικού και ασύρματης σύνδεσης, ειδικά στους τομείς του προγραμματισμού και των κριτικών Android. Αυτή τη στιγμή είναι ανώτερος μηχανικός λογισμικού στη Microsoft, εργάζεται σε διάφορα προϊόντα ms office. Ο Τζος έχει έντονο ενδιαφέρον να βοηθά άλλους να μάθουν νέα εργαλεία λογισμικού και είναι πάντα πρόθυμος να μοιραστεί τις συμβουλές και τα κόλπα του με όσους ρωτούν.



Related posts