20 εντολές PowerShell των Windows που πρέπει να γνωρίζετε
Το Windows PowerShell είναι το νέο κέλυφος γραμμής εντολών, το οποίο είναι πιο ισχυρό και scriptable από τη γραμμή εντολών. Κατά την τριετή εμπειρία της χρήσης του, το βρήκα πολύ χρήσιμο, ειδικά αν βρίσκεστε σε αυτοματοποίησης ή εκτέλεσης δέσμης ενεργειών. Ωστόσο, οι περισσότεροι από εμάς είτε δεν το γνωρίζουν είτε δεν προτιμούν να το χρησιμοποιήσουν αντί για το παλιό κέλυφος γραμμής εντολών.
Σε αυτή τη θέση, θα μοιραστώ χρήσιμες αλλά απλές εντολές (με παραδείγματα) του Windows PowerShell. Μπορείτε να χρησιμοποιήσετε αυτές τις εντολές για να ολοκληρώσετε πολλές εργασίες - από τη λήψη βοήθειας σε διαδικασίες εκκίνησης. Θα ξεκινήσουμε?
Σημείωση: Το Windows PowerShell είναι κατασκευασμένο με συμβατότητα προς τα πίσω έχοντας κατά νου, και ως εκ τούτου υποστηρίζει πολλές εντολές της Γραμμής εντολών. Τούτου λεχθέντος, μπορείτε να συνεχίσετε να χρησιμοποιείτε τις παλιές εντολές στο νέο, πολύχρωμο περιβάλλον του.
Λήψη βοήθειας [βοήθεια]
Εάν είστε νέοι στο PowerShell, ενδέχεται να αντιμετωπίσετε προβλήματα. και σε τέτοιες καταστάσεις, το Get-Help γίνεται ο σωτήρας σας. Παρέχει τις απαραίτητες πληροφορίες σχετικά με τα cmdlets, τις εντολές, λειτουργίες, δέσμες ενεργειών και ροές εργασίας του PowerShell.
Επιπλέον, είναι εύκολο: πρέπει να πληκτρολογήσετε Ζήτα βοήθεια
ακολουθούμενη από την εντολή, της οποίας ζητάτε τις λεπτομέρειες. Για παράδειγμα, μπορείτε να λάβετε πληροφορίες σχετικά με “Get-Process” χρησιμοποιώντας Get-Get Get-Process
.
Get-Command [gcm]
Το Windows PowerShell επιτρέπει την ανακάλυψη των εντολών και των λειτουργιών του χρησιμοποιώντας το Get-Command. Εμφανίζει τη λίστα του εντολές ενός συγκεκριμένου στοιχείου ή για συγκεκριμένο σκοπό με βάση την παράμετρο αναζήτησης.
Χρειάζεται μόνο να πληκτρολογήσετε Get-Command
ακολουθούμενο από το ερώτημα αναζήτησης στο PowerShell. Για παράδειγμα, Get-Command * -στη υπηρεσία *
εμφανίζει εντολές με “-υπηρεσία” στο όνομά της. Παρακαλώ θυμηθείτε να χρησιμοποιήστε τους αστερίσκους και στις δύο πλευρές του ερωτήματος σας επειδή είναι μια άγρια κάρτα που βοηθά στην αναζήτηση του άγνωστου.
Επικεφαλίδα-εντολή [icm]
Όταν το επιθυμείτε εκτελέστε μια εντολή ή ένα σενάριο του PowerShell - τοπικά ή εξ αποστάσεως σε έναν ή πολλούς υπολογιστές - “Invoke-Command” είναι ο φίλος σου. Είναι εύκολο στη χρήση και σας βοηθά στη διαχείριση παρτίδων σε υπολογιστές.
Πρέπει να πληκτρολογήσετε Invoke-Command
ακολουθούμενη από την εντολή ή το σενάριο με την πλήρη διαδρομή του. Για παράδειγμα, μπορείτε εκτελέστε μια εντολή “Get-EventLog” χρησιμοποιώντας Invoke-Command -ScriptBlock Get-EventLog σύστημα -Newest 50
ή σε έναν απομακρυσμένο υπολογιστή “Server01” χρησιμοποιώντας Invoke-Command -ScriptBlock σύστημα Get-EventLog -Newest 50 -ComputerName Server01
.
Invoke-Expression [iex]
Invoke-Expression τρέχει άλλη εντολή ή έκφραση. Εάν παρέχετε μια έκφραση ή μια συμβολοσειρά ως εισήγησή της, αυτή η εντολή πρώτα την αξιολογεί, στη συνέχεια εκτελείται, αλλά λειτουργεί και μόνο τοπικά, σε αντίθεση με την προηγούμενη εντολή.
Πρέπει να πληκτρολογήσετε Invoke-Expression
ακολουθούμενη από μια εντολή ή μια έκφραση. Για παράδειγμα, μπορείτε να ορίσετε μια μεταβλητή “$ Command” με μια συμβολοσειρά που λέει την εντολή “Get-Process”. Όταν τρέχετε Invoke-Expression $ Command
, “Get-Process” εκτελείται ως εντολή στον τοπικό σας υπολογιστή.
Invoke-WebRequest [iwr]
Μπορείς κατεβάστε, συνδεθείτε και ξύστε για πληροφορίες σε ιστοσελίδες και υπηρεσίες web, ενώ εργάζεστε στο Windows PowerShell χρησιμοποιώντας το Invoke-WebRequest.
Πρέπει να το χρησιμοποιήσετε όπως Invoke-WebRequest
ακολουθούμενη από τις παραμέτρους της. Για παράδειγμα, μπορείτε να πάρετε τους συνδέσμους σε μια δεδομένη ιστοσελίδα χρησιμοποιώντας την εντολή ως (Invoke-WebRequest -Uri "https://docs.microsoft.com") .Links.Href
.
Set-ExecutionPolicy
Αν και δημιουργεί και εκτελεί δέσμες ενεργειών (έχοντας επέκταση “ps1”) στο Windows PowerShell είναι δυνατή. Ωστόσο, υπάρχουν περιορισμοί για λόγους ασφαλείας. Αλλά μπορείς αλλάξτε το επίπεδο ασφαλείας χρησιμοποιώντας την εντολή Set-ExecutionPolicy.
Μπορείτε να πληκτρολογήσετε Set-ExecutionPolicy
ακολουθούμενη από ένα από τα τέσσερα επίπεδα ασφάλειας - Περιορισμένη, Απομακρυσμένη υπογραφή, Όλοι υπογεγραμμένες ή Απεριόριστες για να χρησιμοποιήσετε την εντολή. Για παράδειγμα, μπορείτε να αντιστοιχίσετε την κατάσταση περιορισμένης πολιτικής χρησιμοποιώντας Set-ExecutionPolicy -ExecutionPolicy Περιορισμένη
.
Λήψη στοιχείου [gi]
Αν ψάχνετε πληροφορίες σχετικά με ένα στοιχείο σε οποιαδήποτε δεδομένη τοποθεσία, πείτε ένα αρχείο στον σκληρό σας δίσκο, το Get-Item είναι ο καλύτερος τρόπος για να το αποκτήσετε στο Windows PowerShell. Πρέπει να το ξέρετε δεν παίρνει το περιεχόμενο του στοιχείου, όπως τα αρχεία και οι δευτερεύοντες κατάλογοι σε έναν συγκεκριμένο κατάλογο, εκτός αν έχετε καθορίσει ρητώς εσείς.
Πρέπει να πληκτρολογήσετε Get-Item
ακολουθούμενη από μια διαδρομή ή μια συμβολοσειρά μαζί με τις παραμέτρους της, αν υπάρχουν. Για παράδειγμα, μπορείτε να ξεκινήσετε με όλα τα στοιχεία (αρχεία ή φάκελοι) “Μ” στον τρέχοντα κατάλογο χρησιμοποιώντας Get-Item M *
. Μαζί με το περιεχόμενο των καταλόγων, μπορεί επίσης να πάρει το περιεχόμενο των κλειδιών μητρώου.
Αντιγραφή-Αντικείμενο [αντιγραφή]
Αν χρειαστεί αντιγράψτε αρχεία και καταλόγους στη δισκέτα αποθήκευσης ή τις καταχωρήσεις μητρώου και τα κλειδιά στο μητρώο, μπορείτε να χρησιμοποιήσετε το στοιχείο Αντιγραφή. Λειτουργεί παρόμοια με το “cp” εντολή που έχουμε στη γραμμή εντολών, αλλά είναι πολύ καλύτερη.
Μπορείτε να κάνετε χρήση του Αντιγραφή-στοιχείο
εντολή να αντιγράψτε και μετονομάστε στοιχεία στην ίδια εντολή επίσης - δώστε ένα νέο όνομα ως προορισμό. Για παράδειγμα, μπορείτε να αντιγράψετε και να μετονομάσετε “Υπηρεσίες.htm” προς το “MyServices.txt” χρησιμοποιώντας Αντιγραφή -Ειδικό στοιχείο "C: \ Services.htm" -Ορισμός "C: \ MyData \ MyServices.txt"
.
Κατάργηση-στοιχείο [del]
Αν θέλετε για να διαγράψετε στοιχεία όπως αρχεία, φακέλους, λειτουργίες και κλειδιά και μεταβλητές μητρώου, το Remove-Item είναι η εντολή για εσάς. Αυτό που μου φάνηκε ενδιαφέρον είναι ότι παρέχει παραμέτρους για να συμπεριλάβει και να αποκλείσει αντικείμενα.
Μπορείτε να κάνετε χρήση του Αφαίρεση-Αντικείμενο
εντολή να να διαγράψετε στοιχεία από συγκεκριμένες τοποθεσίες χρησιμοποιώντας παραμέτρους. Για παράδειγμα, μπορείτε να διαγράψετε το αρχείο “MyServices.txt” με την εντολή Κατάργηση στοιχείου "C: \ MyData \ MyServices.txt"
.
Get-Content [γάτα]
Όταν χρειάζεται να προβάλετε το περιεχόμενο ενός αρχείου κειμένου σε μια συγκεκριμένη τοποθεσία, ανοίγετε και διαβάζετε σε ένα πρόγραμμα επεξεργασίας κειμένου / κειμένου όπως το Notepad ++. Στο Windows PowerShell, μπορείτε να χρησιμοποιήσετε το Get-Content to να ανακτήσετε το περιεχόμενο χωρίς να ανοίξει το αρχείο.
Για παράδειγμα, μπορείτε να ανακτήσετε 50 γραμμές περιεχομένου “Υπηρεσίες.htm”, τότε μπορείτε να χρησιμοποιήσετε Λήψη περιεχομένου "C: \ Services.htm" -TotalCount 50
.
Set-Περιεχόμενο [sc]
Μπορείτε να αποθηκεύσετε κείμενο σε αρχεία χρησιμοποιώντας το Set-Content, παρόμοιο με το “ηχώ” εντολή του Bash Shell. Σε συνδυασμό με το Get-Content, μπορείτε επίσης να ανακτήσετε το περιεχόμενο ενός αρχείου και να το αντιγράψετε σε άλλο αρχείο χρησιμοποιώντας αυτήν την εντολή.
Για παράδειγμα, μπορείτε να πληκτρολογήσετε Set-Content
προς το να γράψετε ή να αντικαταστήσετε το περιεχόμενο ενός αρχείου με νέο περιεχόμενο. Επιπλέον, μπορείτε να το σύρετε με το παράδειγμα της προηγούμενης εντολής για να αποθηκεύσετε την έξοδο του σε ένα νέο αρχείο που ονομάζεται “Sample.txt” χρησιμοποιώντας Λήψη περιεχομένου "C: \ Services.htm" -TotalCount 50 | Σετ-Περιεχομένου "Sample.txt"
.
Get-Μεταβλητή [gv]
Αν θέλετε να χρησιμοποιήσετε μεταβλητές στο Windows PowerShell, η εντολή Get-Variable σάς βοηθά απεικονίζουν τις τιμές των μεταβλητών. Αυτά τα παρουσιάζει σε μορφή πίνακα και επιτρέπει τη συμπερίληψη, εξαίρεση και χρήση μπαλαντέρ.
Μπορείτε να χρησιμοποιήσετε αυτήν την εντολή πληκτρολογώντας Πάρτε μεταβλητή
ακολουθούμενη από τις επιλογές και τις παραμέτρους της. Για παράδειγμα, μπορείτε να ανακτήσετε την τιμή για μια μεταβλητή που ονομάζεται “desc” χρησιμοποιώντας τον ακόλουθο κώδικα: Get-Μεταβλητή-όνομα "desc"
.
Set-Μεταβλητή [set]
Μπορείς να εκχωρήσετε ή να αλλάξετε / επαναφέρετε την τιμή μιας μεταβλητής χρησιμοποιώντας την εντολή Set-Variable. Ως συντόμευση, μπορείτε επίσης να ορίσετε μια απλή μεταβλητή χρησιμοποιώντας τη μορφή $ $ VarName = VarValue $, όπως $ desc = "Μια περιγραφή"
.
Μπορείτε να χρησιμοποιήσετε την εντολή Set-Μεταβλητή
ακολουθούμενη από τις παραμέτρους της για να ορίσετε μια μεταβλητή Για παράδειγμα, μπορούμε να ορίσουμε την τιμή για μια μεταβλητή που ονομάζεται “desc” χρησιμοποιώντας την εντολή Set -Variable -name "desc" -Value "A Περιγραφή"
.
Get-Process [gps]
Συνήθως χρησιμοποιούμε τη Διαχείριση Εργασιών για να βρείτε τις τρέχουσες διαδικασίες στον υπολογιστή μας. Στο Windows PowerShell, οποιοσδήποτε μπορεί να χρησιμοποιήσει το Get-Process για να πάρει τη λίστα των τρέχουσων διαδικασιών, τις οποίες μπορείτε να επεξεργαστείτε περαιτέρω.
Μπορείτε να γράψετε την εντολή ως Get-Process
μαζί με το ερώτημα αναζήτησης. Για παράδειγμα, αν χρειάζεστε πληροφορίες σχετικά με τις διαδικασίες με “εξερευνώ” στο όνομά τους, μπορείτε να πληκτρολογήσετε Get-Process * explore *
(σημειώστε τους αστερίσκους).
Έναρξη-Διαδικασία [saps]
Το Windows PowerShell σας διευκολύνει ξεκινήστε μία ή περισσότερες διαδικασίες στον υπολογιστή σου. Βρήκα ότι αυτή η εντολή είναι βολική σε εφαρμογές δέσμης ενεργειών, καθώς είναι μία από τις εντολές που πρέπει να έχετε για αυτοματοποίηση μιας εργασίας.
Μπορείτε να πληκτρολογήσετε Έναρξη-Διαδικασία
ακολουθούμενη από τις παραμέτρους της για να χρησιμοποιήσετε την εντολή. Για παράδειγμα, μπορείτε να ξεκινήσετε το Notepad πληκτρολογώντας Start-Process -FilePath "σημειωματάριο" -Ενεργά runAs
στο Windows PowerShell.
Διακοπή διαδικασίας [kill]
Μπορείς να διακόψετε συγκεκριμένες ή όλες τις εμφανίσεις μιας διαδικασίας που εκτελείται στον υπολογιστή σας χρησιμοποιώντας το όνομά του ή PID (Process ID), χάρη στην εντολή Stop-Process. Αυτό που το καθιστά επιτακτικό είναι ότι μπορείτε να ανιχνεύσετε ότι μια διαδικασία έχει σταματήσει ή όχι και μπορείτε ακόμη και να σταματήσετε τις διαδικασίες που δεν ανήκουν ή δεν ξεκινούν από τον τρέχοντα χρήστη.
Μπορείτε να πληκτρολογήσετε την εντολή Διαδικασία διακοπής
ακολουθούμενη από τις παραμέτρους της για να σταματήσουμε τις συγκεκριμένες διαδικασίες. Για παράδειγμα, μπορείτε να διακόψετε όλες τις διαδικασίες του Σημειωματάριου χρησιμοποιώντας την εντολή Stop-Process-Ονομάστε "σημειωματάριο"
.
Get-Service [gsv]
Οταν χρειάζεσαι πληροφορίες σχετικά με συγκεκριμένες υπηρεσίες (εκτελείται ή σταματάει) στον υπολογιστή σας, μπορείτε να χρησιμοποιήσετε τη υπηρεσία Get-Service. Εμφανίζει τις υπηρεσίες που είναι εγκατεστημένες στο σύστημά σας και παρέχει επιλογές φιλτραρίσματος και ενσωμάτωσης και εξαίρεσης.
Αν θέλετε να χρησιμοποιήσετε αυτήν την εντολή, μπορείτε να πληκτρολογήσετε Get-Service
ακολουθούμενη από τις παραμέτρους της. Για παράδειγμα, πληκτρολογήστε τα εξής Get-Service | Όπου-Αντικείμενο $ _. Κατάσταση -eq "Εκτέλεση"
για να πάρετε τις υπηρεσίες “τρέξιμο” στο σύστημά σας.
Start-Service [sasv]
Αν το επιθυμείτε ξεκινήστε μια υπηρεσία στον υπολογιστή σας, η εντολή Start-Service μπορεί να σας βοηθήσει να κάνετε το ίδιο από το Windows PowerShell. Βρήκα ότι είναι αρκετά ισχυρός για να ξεκινήσει μια υπηρεσία ακόμα και αν η υπηρεσία αυτή είναι απενεργοποιημένη στον υπολογιστή σας.
Πρέπει να καθορίσετε το όνομα της υπηρεσίας ενώ χρησιμοποιείτε την εντολή Start-Service
. Για παράδειγμα, Start-Service-Name "WSearch"
ξεκινά την υπηρεσία “Αναζήτηση στα Windows” στον τοπικό σας υπολογιστή.
Διακοπή εξυπηρέτησης [spsv]
Αν το επιθυμείτε stop υπηρεσίες που εκτελούνται στον υπολογιστή σας, η εντολή Stop-Service θα αποδειχθεί χρήσιμη. Θα πρέπει να καθορίσετε το όνομα της υπηρεσίας μαζί με Διακοπή
. Για παράδειγμα, πληκτρολογήστε Διακοπή-Υπηρεσία-όνομα "WSearch"
για να σταματήσετε την υπηρεσία “Αναζήτηση στα Windows” στον υπολογιστή σου.
ConvertTo-HTML
Το PowerShell μπορεί να παρέχει εκπληκτικές πληροφορίες για το σύστημά σας. Ωστόσο, παρουσιάζεται ως επί το πλείστον σε μια αβλαβή μορφή, αλλά μπορείτε να χρησιμοποιήσετε το ConvertTo-HTML στο δημιουργήστε και διαμορφώστε μια αναφορά να το αναλύσετε ή να το στείλετε σε κάποιον.
Μπορείς να χρησιμοποιήσεις ConvertTo-HTML
μαζί με την έξοδο μιας άλλης εντολής χρησιμοποιώντας σωληνώσεις. Για παράδειγμα Get-Service | ConvertTo-HTML - Όνομα ιδιότητας, Κατάσταση> C: \ Services.htm
εμφανίζει τη λίστα όλων των υπηρεσιών και την κατάστασή τους με τη μορφή μιας αναφοράς ιστού, η οποία είναι αποθηκευμένη στο αρχείο “Υπηρεσίες.htm”.
Αυτό είναι όλο για τις βασικές εντολές .