Αρχική σελίδα » πως να » Τρόπος εκτέλεσης εντολών PowerShell σε απομακρυσμένους υπολογιστές

    Τρόπος εκτέλεσης εντολών PowerShell σε απομακρυσμένους υπολογιστές

    Το PowerShell Remoting σάς επιτρέπει να εκτελείτε εντολές PowerShell ή να έχετε πρόσβαση σε πλήρεις συνεδρίες PowerShell σε απομακρυσμένα συστήματα Windows. Είναι παρόμοιο με το SSH για πρόσβαση σε απομακρυσμένα τερματικά σε άλλα λειτουργικά συστήματα.

    Το PowerShell είναι κλειδωμένο από προεπιλογή, επομένως θα πρέπει να ενεργοποιήσετε το PowerShell Remoting πριν το χρησιμοποιήσετε. Αυτή η διαδικασία εγκατάστασης είναι λίγο πιο περίπλοκη εάν χρησιμοποιείτε μια ομάδα εργασίας αντί για έναν τομέα - για παράδειγμα, σε ένα οικιακό δίκτυο - αλλά θα σας καθοδηγήσουμε.

    Ενεργοποιήστε την απομάκρυνση του PowerShell από τον υπολογιστή που θέλετε να αποκτήσετε από απόσταση

    Το πρώτο σας βήμα είναι να ενεργοποιήσετε το PowerShell Remoting στον υπολογιστή στον οποίο θέλετε να κάνετε απομακρυσμένες συνδέσεις. Σε αυτόν τον υπολογιστή, θα χρειαστεί να ανοίξετε το PowerShell με δικαιώματα διαχειριστή.

    Στα Windows 10, πατήστε τα Windows + X και, στη συνέχεια, επιλέξτε PowerShell (Admin) από το μενού Power User.

    Στα Windows 7 ή 8, πατήστε Έναρξη και, στη συνέχεια, πληκτρολογήστε "powershell." Κάντε δεξί κλικ στο αποτέλεσμα και επιλέξτε "Εκτέλεση ως διαχειριστής".

    Στο παράθυρο PowerShell, πληκτρολογήστε το ακόλουθο cmdlet (το όνομα του PowerShell για μια εντολή) και στη συνέχεια πατήστε Enter:

    Enable-PSRemoting -Force

    Αυτή η εντολή ξεκινά την υπηρεσία WinRM, ρυθμίζει την εκκίνηση αυτόματα με το σύστημά σας και δημιουργεί έναν κανόνα τείχους προστασίας που επιτρέπει τις εισερχόμενες συνδέσεις. ο -Δύναμη ένα μέρος του cmdlet λέει στο PowerShell να εκτελέσει αυτές τις ενέργειες χωρίς να σας ζητάει για κάθε βήμα.

    Εάν οι υπολογιστές σας είναι μέρος ενός τομέα, αυτό είναι όλο το setup που πρέπει να κάνετε. Μπορείτε να παραλείψετε να δοκιμάσετε τη σύνδεσή σας. Εάν οι υπολογιστές σας ανήκουν σε μια ομάδα εργασίας -η οποία είναι πιθανότατα σε ένα οικιακό δίκτυο ή σε ένα δίκτυο μικρών επιχειρήσεων- έχετε να κάνετε λίγο περισσότερο τις ρυθμίσεις εγκατάστασης.

    Σημείωση: Η επιτυχία σας στη ρύθμιση της απομάκρυνσης σε ένα περιβάλλον τομέα εξαρτάται αποκλειστικά από τη ρύθμιση του δικτύου σας. Η απομάκρυνση μπορεί να είναι απενεργοποιημένη - ή ακόμα και ενεργοποιημένη - αυτόματα από την πολιτική ομάδας που έχει διαμορφωθεί από έναν διαχειριστή. Ενδέχεται επίσης να μην έχετε τα δικαιώματα που χρειάζεστε για να εκτελέσετε το PowerShell ως διαχειριστής. Όπως πάντα, ελέγξτε με τους διαχειριστές σας πριν δοκιμάσετε κάτι τέτοιο. Μπορεί να έχουν καλούς λόγους για να μην επιτρέψουν την πρακτική, ή να είναι πρόθυμοι να το συστήσουν για εσάς.

    Ρυθμίστε την ομάδα εργασίας σας

    Εάν οι υπολογιστές σας δεν βρίσκονται σε έναν τομέα, πρέπει να εκτελέσετε μερικά ακόμη βήματα για να ρυθμίσετε τα πράγματα. Θα πρέπει να έχετε ήδη ενεργοποιήσει το Remoting στον υπολογιστή στον οποίο θέλετε να συνδεθείτε, όπως περιγράψαμε στην προηγούμενη ενότητα.

    Σημείωση: Για να αποκατασταθεί το PowerShell Remoting για να λειτουργήσει σε περιβάλλον εργασίας ομάδας, πρέπει να διαμορφώσετε το δίκτυό σας ως ιδιωτικό, όχι δημόσιο, δίκτυο. Για περισσότερες πληροφορίες σχετικά με τη διαφορά - και πώς να αλλάξετε σε ιδιωτικό δίκτυο εάν έχετε ήδη δημιουργήσει ένα δημόσιο δίκτυο - ελέγξτε τον οδηγό μας σε ιδιωτικά και δημόσια δίκτυα.

    Στη συνέχεια, θα πρέπει να διαμορφώσετε τη ρύθμιση TrustedHosts τόσο στον υπολογιστή στον οποίο θέλετε να συνδεθείτε και τον υπολογιστή (ή τους υπολογιστές) από τον οποίο θέλετε να συνδεθείτε, ώστε οι υπολογιστές να εμπιστευτούν ο ένας τον άλλον. Μπορείτε να το κάνετε αυτό με έναν από τους δύο τρόπους.

    Εάν βρίσκεστε σε ένα οικιακό δίκτυο όπου θέλετε να προχωρήσετε και να εμπιστευτείτε οποιονδήποτε υπολογιστή να συνδεθεί εξ αποστάσεως, μπορείτε να πληκτρολογήσετε το ακόλουθο cmdlet στο PowerShell (και πάλι, θα πρέπει να το εκτελέσετε ως Διαχειριστής).

    Ορισμός στοιχείου wsman: \ localhost \ client \ trustedhosts *

    Ο αστερίσκος είναι ένα σύμβολο μπαλαντέρ για όλους τους υπολογιστές. Εάν αντίθετα θέλετε να περιορίσετε τους υπολογιστές που μπορούν να συνδεθούν, μπορείτε να αντικαταστήσετε τον αστερίσκο με μια λίστα διαχωρισμένων με κόμματα διευθύνσεων IP ή ονομάτων υπολογιστών για εγκεκριμένους υπολογιστές.

    Μετά την εκτέλεση αυτής της εντολής, θα χρειαστεί να κάνετε επανεκκίνηση της υπηρεσίας WinRM, ώστε να ισχύσουν οι νέες σας ρυθμίσεις. Πληκτρολογήστε το ακόλουθο cmdlet και στη συνέχεια πατήστε Enter:

    Επανεκκίνηση-Υπηρεσία WinRM

    Και θυμηθείτε, θα πρέπει να εκτελέσετε αυτά τα δύο cmdlets στον υπολογιστή στον οποίο θέλετε να συνδεθείτε, καθώς και σε οποιονδήποτε υπολογιστή θέλετε να συνδεθείτε από.

    Ελέγξτε τη σύνδεση

    Τώρα που έχετε εγκαταστήσει τους υπολογιστές σας για PowerShell Remoting, ήρθε η ώρα να δοκιμάσετε τη σύνδεση. Στο PC που θέλετε να αποκτήσετε πρόσβαση στο απομακρυσμένο σύστημα, πληκτρολογήστε το ακόλουθο cmdlet στο PowerShell (αντικαθιστώντας το "COMPUTER" με το όνομα ή τη διεύθυνση IP του απομακρυσμένου υπολογιστή) και στη συνέχεια πατήστε Enter:

    Test-WsMan COMPUTER

    Αυτή η απλή εντολή ελέγχει εάν η υπηρεσία WinRM εκτελείται στον απομακρυσμένο υπολογιστή. Εάν ολοκληρωθεί με επιτυχία, θα δείτε πληροφορίες σχετικά με την υπηρεσία WinRM του απομακρυσμένου υπολογιστή στο παράθυρο που υποδηλώνει ότι το WinRM είναι ενεργοποιημένο και ο υπολογιστής σας μπορεί να επικοινωνήσει. Εάν η εντολή αποτύχει, θα εμφανιστεί ένα μήνυμα σφάλματος.

    Εκτελέστε μια ενιαία απομακρυσμένη εντολή

    Για να εκτελέσετε μια εντολή στο απομακρυσμένο σύστημα, χρησιμοποιήστε το Invoke-Command cmdlet χρησιμοποιώντας την ακόλουθη σύνταξη:

    Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -πιστωτικός χρήστης USERNAME

    Το "COMPUTER" αντιπροσωπεύει το όνομα ή τη διεύθυνση IP του απομακρυσμένου υπολογιστή. "COMMAND" είναι η εντολή που θέλετε να εκτελέσετε. "USERNAME" είναι το όνομα χρήστη που θέλετε να εκτελέσετε την εντολή όπως στον απομακρυσμένο υπολογιστή. Θα σας ζητηθεί να εισαγάγετε έναν κωδικό πρόσβασης για το όνομα χρήστη.

    Ακολουθεί ένα παράδειγμα. Θέλω να δω τα περιεχόμενα του καταλόγου C: \ σε έναν απομακρυσμένο υπολογιστή με τη διεύθυνση IP 10.0.0.22. Θέλω να χρησιμοποιήσω το όνομα χρήστη "wjgle", γι 'αυτό θα χρησιμοποιήσω την ακόλουθη εντολή:

    Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)

    Ξεκινήστε μια απομακρυσμένη περίοδο σύνδεσης

    Εάν έχετε πολλά cmdlet που θέλετε να εκτελέσετε στον απομακρυσμένο υπολογιστή, αντί να πληκτρολογήσετε επανειλημμένα το cmdlet Invoke-Command και την απομακρυσμένη διεύθυνση IP, μπορείτε να ξεκινήσετε μια απομακρυσμένη συνεδρία. Απλά πληκτρολογήστε το ακόλουθο cmdlet και στη συνέχεια πατήστε Enter:

    Enter-PSSession-Υπολογιστής ΟΝΟΜΑΤΟΣ COMPUTER - Πιστός USER

    Και πάλι, αντικαταστήστε το "COMPUTER" με το όνομα ή τη διεύθυνση IP του απομακρυσμένου υπολογιστή και αντικαταστήστε το "USER" με το όνομα του λογαριασμού χρήστη που θέλετε να καλέσετε.

    Η προτροπή σας αλλάζει για να υποδείξει τον απομακρυσμένο υπολογιστή στον οποίο είστε συνδεδεμένοι και μπορείτε να εκτελέσετε οποιοδήποτε αριθμό cmd του PowerShell απευθείας στο απομακρυσμένο σύστημα.