Δείτε πώς μπορείτε να αξιοποιήσετε στο έπακρο το Windows PowerShell ενεργοποιώντας την Πολιτική εκτέλεσης σεναρίων.

Το iPowerShell, από προεπιλογή, σας επιτρέπει να εκτελείτε εντολές (cmdlets) μέσω της κονσόλας του. Για να εκτελέσετε ένα σενάριο, μπορείτε να δημιουργήσετε ένα αρχείο σημειωματάριων με τον κώδικα σεναρίου, να το αποθηκεύσετε με επέκταση αρχείου .ps1 και να το εκτελέσετε μέσω της κονσόλας PowerShell. Μπορείτε επίσης να επικολλήσετε απευθείας το σενάριο στην κονσόλα για εκτέλεση.

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

Πώς να ελέγξετε την υπάρχουσα πολιτική εκτέλεσης

Μπορείτε να χρησιμοποιήσετε ένα cmdlet PowerShell για να λάβετε την τρέχουσα πολιτική εκτέλεσης. Η γνώση της τρέχουσας πολιτικής εκτέλεσης είναι απαραίτητη για να γνωρίζετε εάν χρειάζεστε αλλαγή πολιτικής ή όχι.

Για να λάβετε την τρέχουσα πολιτική εκτέλεσης για τον τρέχοντα χρήστη:

  1. Ανοίξτε το Windows PowerShell ως διαχειριστής.
  2. Πληκτρολογήστε την ακόλουθη εντολή στην κονσόλα PowerShell και πατήστε Enter:
    παίρνω-πολιτική εκτέλεσης
  3. Εφόσον αντιμετωπίσατε ένα σφάλμα κατά την εκτέλεση του σεναρίου, πιθανότατα θα εμφανιστεί η επιστροφή Περιορισμένος ως τρέχουσα πολιτική εκτέλεσης.
  4. Εάν πρέπει να δείτε την πολιτική εκτέλεσης για όλα τα υποστηριζόμενα πεδία:
    παίρνω-εκτελεστική πολιτική -λίστα

Θα χρειαστεί να αλλάξετε την πολιτική εκτέλεσης σε RemoteSigned για να εκτελέσετε τοπικά σενάρια χωρίς το σφάλμα. Μπορείτε να αλλάξετε την πολιτική εκτέλεσης από την εφαρμογή Ρυθμίσεις και το PowerShell.

Πώς να ενεργοποιήσετε την πολιτική εκτέλεσης του PowerShell χρησιμοποιώντας την εφαρμογή Ρυθμίσεις

Μπορείτε να αλλάξετε και να ορίσετε την πολιτική εκτέλεσης του PowerShell σε RemoteSigned χρησιμοποιώντας την εφαρμογή Ρυθμίσεις. Το μόνο που έχετε να κάνετε είναι να τροποποιήσετε τις ρυθμίσεις του PowerShell στην ενότητα των προγραμματιστών για να αλλάξετε την πολιτική εκτέλεσης για να ενεργοποιήσετε την εκτέλεση σεναρίου PowerShell.

Για να αλλάξετε την πολιτική εκτέλεσης χρησιμοποιώντας τις Ρυθμίσεις:

  1. Τύπος Νίκη + Ι για να ανοίξετε το Setτσιμπήματα.
  2. Ανοιξε το Απόρρητο και ασφάλεια καρτέλα στο αριστερό παράθυρο.
  3. Στη συνέχεια, κάντε κλικ στο Για προγραμματιστές.
  4. Κάντε κλικ για να αναπτύξετε το PowerShell Ενότητα.
  5. Εναλλαγή του διακόπτη σε αλλάξτε την πολιτική εκτέλεσης για να επιτρέψετε στα τοπικά σενάρια PowerShell να εκτελούνται χωρίς υπογραφή - Απαιτείται υπογραφή για απομακρυσμένα σενάρια.
  6. Μόλις τελειώσετε, ανοίξτε το PowerShell, πληκτρολογήστε get πολιτική εκτέλεσης, και πατήστε Εισαγω. Η πολιτική εκτέλεσης για τον τρέχοντα χρήστη έχει πλέον οριστεί σε RemoteSigned.
  7. Εάν πρέπει να απενεργοποιήσετε την πολιτική εκτέλεσης, αλλάξτε τον διακόπτη PowerShell και ρυθμίστε τον σε Μακριά από.

Πώς να επιτρέψετε την εκτέλεση σεναρίων στο PowerShell χρησιμοποιώντας το PowerShell

Μπορείτε να χρησιμοποιήσετε α PowerShell cmdlet για να ορίσετε την πολιτική εκτέλεσης σε RemoteSigned. Η διεπαφή γραμμής εντολών διευκολύνει την γρήγορη αλλαγή της πολιτικής εκτέλεσης χωρίς τη χρήση της εφαρμογής Ρυθμίσεις.

Επίσης, η εφαρμογή Ρυθμίσεις μπορεί να ενεργοποιήσει ή να απενεργοποιήσει μόνο την πολιτική εκτέλεσης RemoteSigned. Ενώ το PowerShell σάς επιτρέπει να ορίσετε και άλλες πολιτικές και πεδία.

Για να αλλάξετε την πολιτική εκτέλεσης χρησιμοποιώντας το PowerShell:

  1. Ανοίξτε το PowerShell ως διαχειριστής.
  2. Στο παράθυρο του PowerShell, πληκτρολογήστε την ακόλουθη εντολή και πατήστε Εισαγω:
    Σειρά-Εκτέλεση Πολιτικής RemoteSigned
  3. Εάν σας ζητηθεί, πατήστε ΕΝΑ για να επιβεβαιώσετε την ενέργεια. Αυτό θα ορίσει το RemoteSigned πολιτική εκτέλεσης για όλους τους χρήστες. Εάν θέλετε να ορίσετε την πολιτική εκτέλεσης για το Τρέχων χρήστης μόνο, χρησιμοποιήστε την παράμετρο Scope ακολουθούμενη από το όνομα χρήστη.
  4. Για παράδειγμα, για να ρυθμίσετε το RemoteSigned πολιτική εκτέλεσης για Τρέχων χρήστης, χρησιμοποιήστε την ακόλουθη εντολή:
    Σειρά-ExecutionPolicy RemoteSgined -Πεδίο εφαρμογής Τρέχων χρήστης
  5. Αντικαθιστώ Τρέχων χρήστης στην παραπάνω εντολή με άλλους χρήστες (Πεδίο εφαρμογής) σύμφωνα με τις απαιτήσεις σας.

Πώς να αφαιρέσετε την πολιτική εκτέλεσης σεναρίου χρησιμοποιώντας το PowerShell

Εάν θέλετε να απενεργοποιήσετε την εκτέλεση σεναρίου, ορίστε την πολιτική εκτέλεσης σε Απροσδιόριστος χρησιμοποιώντας ουe Set_ExecutionPolicy cmdlet. Αυτή είναι μια προεπιλεγμένη κατάσταση και εμποδίζει το PowerShell να εκτελέσει οποιαδήποτε σενάρια.

Για να απενεργοποιήσετε την εκτέλεση σεναρίου χρησιμοποιώντας το PowerShell:

  1. Ανοίξτε το PowerShell με αυξημένη άδεια.
  2. Στη συνέχεια, πληκτρολογήστε την ακόλουθη εντολή και πατήστε enter για να απενεργοποιήσετε την εκτέλεση σεναρίου για όλους τους χρήστες:
    Σειρά-Πολιτική Εκτέλεσης απροσδιόριστος
  3. Η παραπάνω εντολή θα ορίσει την προεπιλεγμένη πολιτική εκτέλεσης (μη καθορισμένη) για όλους τους χρήστες. Εάν θέλετε να απενεργοποιήσετε την εκτέλεση σεναρίου για ένα συγκεκριμένο εύρος, χρησιμοποιήστε την ακόλουθη εντολή:
    Σειρά-Πολιτική Εκτέλεσης απροσδιόριστος -Πεδίο εφαρμογής CurrentUser
  4. Η παραπάνω εντολή θα απενεργοποιήσει την εκτέλεση σεναρίου για Τρέχων χρήστης.

Κατανόηση των πολιτικών και των πεδίων εκτέλεσης

Με απλά λόγια, η πολιτική εκτέλεσης του PowerShell είναι μια πολιτική που ελέγχει τον τρόπο με τον οποίο το PowerShell εκτελεί αρχεία διαμόρφωσης και σενάρια. Ο επιδιωκόμενος σκοπός είναι να εμποδίσει τους χρήστες να εκτελούν κατά λάθος κακόβουλα σενάρια. Οι επτά πολιτικές εκτέλεσης του PowerShell είναι Προεπιλογή, περιορισμένη, απομακρυσμένη, υπογεγραμμένη, απεριόριστη, παράκαμψη και μη καθορισμένη.

Ο παρακάτω πίνακας εξηγεί συνοπτικά όλες τις πολιτικές εκτέλεσης του PowerShell:

Πολιτική Εκτέλεσης

Επιβολή

Προκαθορισμένο

Ορίζει την προεπιλεγμένη πολιτική εκτέλεσης ως Περιορισμένη στο Windows Client και RemoteSigned στον Windows Server.

Όλα υπογεγραμμένα

Επιτρέπει την εκτέλεση σεναρίων υπογεγραμμένων από τον εκδότη.

Παράκαμψη

Απεριόριστη εκτέλεση σεναρίων για μεγαλύτερες εφαρμογές.

RemoteSigned

Επιτρέπει την τοπικά γραπτή εκτέλεση σεναρίου. Απαιτεί ψηφιακές υπογραφές για σενάρια που λαμβάνονται από το διαδίκτυο.

Περιορισμένος

Δεν επιτρέπει την εκτέλεση σεναρίου, αλλά μόνο μεμονωμένες εντολές PowerShell.

Απροσδιόριστος

Ορίζει την πολιτική εκτέλεσης σε Περιορισμένη για υπολογιστές-πελάτες Windows και RemoteSigned για Windows Server.

Απεριόριστος

Να επιτρέπεται η ανυπόγραφη εκτέλεση σεναρίου με μια προειδοποίηση για τα σενάρια που έχουν ληφθεί από το διαδίκτυο.

Πεδίο εφαρμογής πολιτικής εκτέλεσης

Μπορείτε να ορίσετε πολιτική εκτέλεσης για ένα συγκεκριμένο εύρος στο PowerShell. Τα πέντε πεδία πολιτικής εκτέλεσης είναι MachinePolicy, UserPolicy, Process, CurrentUser, και LocalMachine.

Ο παρακάτω πίνακας εξηγεί συνοπτικά όλα τα πεδία της πολιτικής εκτέλεσης:

Πεδίο εφαρμογής πολιτικής εκτέλεσης

Επιβολή

Πολιτική Χρήστη

Διαμορφώθηκε από μια πολιτική ομάδας για τον τρέχοντα χρήστη.

Πολιτική μηχανών

Διαμορφώθηκε από πολιτική ομάδας για όλους τους χρήστες.

CurrenUser

Διαμορφώθηκε για τον τρέχοντα χρήστη και αποθηκεύτηκε στο δευτερεύον κλειδί μητρώου HKEY_CURRENT_MACHINE.

LocalMachine

Διαμορφώθηκε για όλους τους χρήστες και αποθηκεύτηκε στο δευτερεύον κλειδί μητρώου HKEY_CURRENT_MACHINE.

Επεξεργάζομαι, διαδικασία

Επηρεάζει την τρέχουσα περίοδο λειτουργίας PowerShell και διαγράφεται αυτόματα όταν η συνεδρία είναι κλειστή.

Προσθήκη ή αφαίρεση Πολιτικής εκτέλεσης σεναρίων PowerShell στα Windows

Η εκτέλεση σεναρίου στο PowerShell είναι απενεργοποιημένη από προεπιλογή για υπολογιστές-πελάτες Windows και έχει οριστεί σε RemoteSigned για διακομιστή Windows. Ωστόσο, οι ισχυροί χρήστες μπορούν να αλλάξουν τις πολιτικές εκτέλεσης για να εκτελούν τοπικά, υπογεγραμμένα και ανυπόγραφα σενάρια PowerShell.

Εναλλακτικά, μπορείτε να παρακάμψετε την πολιτική εκτέλεσης του PowerShell επικολλώντας το σενάριο σε μια κονσόλα PowerShell ή ECHO το σενάριό σας στην τυπική είσοδο PowerShell. Αυτό είναι χρήσιμο εάν θέλετε να εκτελέσετε σενάρια χωρίς να αλλάξετε την πολιτική εκτέλεσης.