Powershell Cmdlets που θα βελτιώσουν τις δυνατότητες διαχειριστή των Windows

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

Το Powershell είναι εργαλείο γραμμής εντολών ίσων μερών και γλώσσα δέσμης ενεργειών.  Σας δίνει τη δυνατότητα να αυτοματοποιήσετε τον υπολογιστή σας μέσω των ίδιων εντολών που χρησιμοποιείτε για τη διαχείριση του.
Διαφήμιση

Το Powershell είναι ένας τέλειος τρόπος για ένα νέο κωδικοποιητή για να ξεκινήσετε στα Windows. Το Powershell είναι εργαλείο γραμμής εντολών ίσων μερών και γλώσσα δέσμης ενεργειών. Σας δίνει τη δυνατότητα να αυτοματοποιήσετε τον υπολογιστή σας μέσω των ίδιων εντολών που χρησιμοποιείτε για να το διαχειριστείτε. Command Prompt vs. Windows PowerShell: Ποια είναι η διαφορά; Command Prompt εναντίον Windows PowerShell: Ποια είναι η διαφορά; Οι χρήστες των Windows μπορούν να επικοινωνήσουν χωρίς να χρησιμοποιήσουν τη γραμμή εντολών ή το PowerShell. Αλλά με τα Windows 10 και τα νέα χαρακτηριστικά γύρω από τη γωνία, ίσως είναι καιρός να μάθουμε. Διαβάστε περισσότερα . Αν έχετε ένα σύγχρονο σύστημα Windows, έχετε ήδη Powershell. Οι περισσότερες από τις χρήσεις του είναι τα Windows, αλλά μπορείτε να εγκαταστήσετε το Powershell σε μια μηχανή Mac ή Linux Πώς να εγκαταστήσετε και να χρησιμοποιήσετε το PowerShell στο Linux Πώς να εγκαταστήσετε και να χρησιμοποιήσετε το PowerShell στο Linux Το 2016, η Microsoft άνοιξε το PowerShell και έκανε μια επανάληψη . Σε αυτό το άρθρο θα σας δείξω πώς να εγκαταστήσετε, να εκτελέσετε και να χρησιμοποιήσετε το PowerShell σε Linux! Διαβάστε επίσης επίσης.

Εργασία με το Powershell

Υπάρχουν δύο τρόποι για να χρησιμοποιήσετε το Powershell. Υπάρχει το βασικό παράθυρο γραμμής εντολών, το οποίο χρησιμοποιείται για την εκτέλεση εντολών ή για την κλήση προκαθορισμένων σεναρίων. Στη συνέχεια, υπάρχει το ISE, το οποίο συνδυάζει το παράθυρο CLI με ένα βασικό αναπτυξιακό περιβάλλον. Χρησιμοποιώντας αυτό, μπορείτε να γράψετε και να δοκιμάσετε τα σενάρια σας.

Το ISE διαθέτει μια λίστα εντολών που μπορεί να αναζητηθεί και μπορείτε να χρησιμοποιήσετε το παράθυρο του τερματικού χωρίς να ανοίξει ένα αρχείο. Η λίστα εντολών σάς επιτρέπει να κατασκευάσετε την εντολή σας και να την τοποθετήσετε. Αν κάνετε πιο προηγμένη ανάπτυξη, εγκαταστήστε τον κώδικα Visual Studio της Microsoft. Ο κώδικας περιλαμβάνει υποστήριξη για τον έλεγχο έκδοσης Git 10 Βασικές Συμβουλές Παραγωγικότητας για τον Visual Studio Code 10 Βασικές Συμβουλές Παραγωγικότητας για τον Κώδικα Visual Studio Το Visual Studio κλονίζει άλλους συντάκτες κειμένων προγραμματισμού από το νερό. Είναι δωρεάν, ανοικτή πηγή, αστραπιαία και γεμάτη με χαρακτηριστικά παραγωγικότητας. Διαβάστε περισσότερα και άλλες γλώσσες.

powerhell γραμμή εντολών

Το Powershell είναι μοναδικό στο ότι είναι κατασκευασμένο εξ ολοκλήρου από εντολές, η Microsoft τους καλεί Cmdlets. Αυτές οι εντολές είναι οι ίδιες αν εργάζεστε μέσω γραμμής εντολών ή γράφοντας σύνθετα σενάρια. Έτσι, καθώς χρησιμοποιείτε αυτές τις εντολές, μπορείτε να σκεφτείτε πώς να τις στοιχειοθετήσετε μαζί για να δημιουργήσετε τα πρώτα σας σενάρια.

Τα βασικά: Get-Command, Get-Help, Get-Member

Όλες οι εντολές Powershell παίρνουν τη μορφή Verb-Noun. Τα ρήματα είναι συνήθως: Get, Set και New .

Η Get-Command σάς επιτρέπει να βλέπετε κάθε διαθέσιμη εντολή. Όταν εκτελείτε το Get-Command, βλέπετε ότι υπάρχουν τόνοι εντολών που ξεκινούν με αυτές.

Περνώντας περισσότερο από τα ονόματα των cmdlets, αρχίζετε να βλέπετε ότι όλοι έχουν παρόμοια δομή. Μπορείτε να τους επικαλεστείτε με το όνομα, ακριβώς όπως κάνατε με το Get-Command. Η χρήση παραμέτρων αλλάζει ποιες πληροφορίες λαμβάνετε. Ωστόσο, αν έχετε χρησιμοποιήσει ποτέ μόνο την εντολή με τις προεπιλεγμένες επιλογές, πώς μπορείτε να μάθετε πώς να χρησιμοποιείτε προηγμένες παραμέτρους;

powershell get-help

Χρησιμοποιώντας το cmdlet Get-Help με το Get-Command εμφανίζονται περισσότερες πληροφορίες σχετικά με το cmdlet. Χρησιμοποιούμε το cmdlet με την ακόλουθη σύνταξη:

Get-Help Get-Command 

Στη συνέχεια, θα δείτε τις βασικές πληροφορίες σχετικά με τις παραμέτρους. Εάν θέλετε να δείτε τις λεπτομέρειες των παραμέτρων και κάποια παραδείγματα χρήσης, προσθέστε την παράμετρο -Full.

Εάν θέλετε να δείτε μόνο τα Παραδείγματα, μπορείτε να εκτελέσετε:

 Get-Help Get-Command -Examples 

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

παράθυρο βοήθειας

Αν θέλετε να εμφανίσετε το αρχείο βοήθειας σε ξεχωριστό παράθυρο, μπορείτε να χρησιμοποιήσετε το -ShowWindow . Έτσι εάν τρέχετε:

 Get-Help Get-Command -ShowWindow 

Το Powershell ξεδιπλώνει ένα παράθυρο με το πλήρες αρχείο βοήθειας. Δεν χρειάζεται να χρησιμοποιήσετε την πλήρη παράμετρο εδώ, καθώς το παράθυρο τραβά το πλήρες άρθρο.

Καθώς προχωράτε με το Powershell, θα διαπιστώσετε ότι χρησιμοποιείτε το Get-Member πιο συχνά. Είναι ένας εύκολος τρόπος να δείτε ποια πεδία είναι διαθέσιμα από τα επιστραφέντα δεδομένα, καθώς και άλλες μεθόδους που μπορείτε να εκτελέσετε. Συχνά, τα cmdlet θα έχουν μια παράμετρο-ιδιότητα για να σας επιτρέψουν να καλέσετε αυτά.

Εργασία με αρχεία: Get-ChildItem, Κατάργηση-Αντικείμενο, Μετακίνηση-Αντικείμενο, Αντιγραφή-Αντικείμενο

Τώρα που έχετε κάποια ιδέα για το πώς λειτουργούν τα cmdlet και πώς να λάβετε βοήθεια, ας κάνουμε αλλαγές. Μπορείτε να πάρετε το περιεχόμενο οποιουδήποτε φακέλου χρησιμοποιώντας την εντολή Get-ChildItem . Για παράδειγμα, μπορείτε να λάβετε τα αρχεία μιας ολόκληρης μονάδας δίσκου χρησιμοποιώντας το γράμμα μονάδας δίσκου. Εισαγω:

 Get-ChildItem E:\ 

Το οποίο είναι σύντομο για:

 Get-ChildItem -Path E:\ 

Όταν εκτελείτε αυτήν την εντολή, θα λάβετε μια λίστα αρχείων με την τελευταία ώρα εγγραφής, μέγεθος κάτω από την ιδιότητα Length, Name and Mode. Η λειτουργία είναι τα χαρακτηριστικά ενός αρχείου ή ενός φακέλου AttributeMagic Free: Τροποποίηση ιδιοτήτων αρχείου στα Windows AttributeMagic Free: Τροποποίηση ιδιοτήτων αρχείου στα Windows Διαβάστε περισσότερα. Οι πιθανές καταχωρήσεις είναι:

  • Μόνο για ανάγνωση
  • Κεκρυμμένος
  • Σύστημα
  • Ευρετήριο
  • Αρχείο
  • Συσκευή
  • Κανονικός
  • Προσωρινός
  • SparseFile
  • ReparsePoint
  • Συμπιεσμένο
  • Offline
  • NotContentIndexed
  • Κρυπτογραφημένο

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

 Get-ChildItem -Path E:\ -Recurse 

Τα αρχεία σας εμφανίζονται ως ξεχωριστές λίστες για κάθε φάκελο της διαδρομής.

powershell get-childitem

Για να περιορίσετε τα δεδομένα που επιστρέφονται, μπορείτε να χρησιμοποιήσετε μερικές διαφορετικές παραμέτρους: -File, -Hidden, and -ReadOnly . Αν θέλετε να απομακρύνατε τα ονόματα του αρχείου, μπορείτε να χρησιμοποιήσετε τις άγριες κάρτες στην παράμετρο Path. Για να επιστρέψετε όλα τα αρχεία .doc σε έναν κατάλογο, πληκτρολογήστε:

 Get-ChildItem -Path E:\*.doc 

Και πάλι προσθέστε - επανάληψη αν θέλετε όλα από τους υποφακέλους επίσης.

Αν θέλετε να διαγράψετε μια χρήση αρχείου:

 Remove-Item -Path E:\OldFile.txt 

Για να παρακάμψετε την επιβεβαίωση κάθε αρχείου, προσθέστε την παράμετρο -Confirm $ false (το Powershell έχει δύο σταθερές για τιμές boolean: $ true και $ false). Για να εξαναγκάσετε την αφαίρεση των αρχείων μόνο για ανάγνωση ή για κρυφά, χρησιμοποιήστε την παράμετρο -Force .

Η μετακίνηση αρχείων είναι εξίσου εύκολη. Για να μετακινήσετε τα πάντα από τη μονάδα σας Flash στην τοπική μονάδα δίσκου σε ένα φάκελο χρησιμοποιήστε:

 Move-Item -Path E:\* -Destination C:\FlashDriveArchive 

Μπορείτε επίσης να ονομάσετε ένα μόνο αρχείο στο -Path για να μετακινήσετε μόνο αυτό το αρχείο. Για να αντιγράψετε το αρχείο αντί να το μετακινήσετε, χρησιμοποιείτε την ίδια σύνταξη με το cmdlet Copy-Item .

Παρακολούθηση και εργασία με διαδικασίες και υπηρεσίες

Κάθε χρήστης των Windows γνωρίζει το Task Manager 5 Ισχυρές εναλλακτικές λύσεις για το Task Manager των Windows 5 Ισχυρές εναλλακτικές λύσεις για τον Διαχειριστή εργασιών των Windows Task Killer θα ήταν ένα καλύτερο όνομα για τον εγγενή διαχειριστή εργασιών των Windows, καθώς το φέρουμε μόνο για να σκοτώσουμε διαδικασίες που δεν ανταποκρίνονται. Οι εναλλακτικοί διευθυντές στόχων σάς επιτρέπουν να διαχειρίζεστε πραγματικά τις διαδικασίες σας. Διαβάστε περισσότερα . Ωστόσο, υπάρχει ένας πιο γρήγορος τρόπος για να δείτε τις τρέχουσες διαδικασίες από το Powershell, Get-Process . Αν θέλετε να μάθετε τι σημαίνουν όλες οι καταχωρήσεις σε αυτόν τον πίνακα, πιέστε την εντολή Get-Member . Εισαγάγετε το cmdlet:

 Get-Process | Get-Member 

Το Get-member εξάγει μια λίστα μεθόδων και ιδιοτήτων που σχετίζονται με τη διαδικασία Get-Process. Οι πληροφορίες στην κορυφή είναι αυτό που σας ενδιαφέρει. Βλέπετε ότι οι διάφοροι τύποι μνήμης έχουν ψευδώνυμα.

powershell get-διαδικασία

Μπορούμε επίσης να δούμε από αυτή την έξοδο ότι μπορούμε να πάρουμε την ιδιότητα του Προϊόντος για να πάρουμε ένα πιο φιλικό όνομα στις διαδικασίες. Ας αλλάξουμε την απόδοση, έτσι έχουμε καλύτερες πληροφορίες για να συνεργαστούμε με:

 Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending 

(Περισσότερες πληροφορίες σχετικά με το στοιχείο Select-Object και Sort-Object στην επόμενη ενότητα.)

Τώρα που έχετε το αναγνωριστικό από την εντολή Get-Process, μπορείτε να το σταματήσετε χρησιμοποιώντας το cmdlet Stop-Process. Επομένως, αν διαπιστώσετε ότι μια διαδικασία Chrome σκουπίζει όλους τους πόρους σας, εντοπίστε το αναγνωριστικό στην προηγούμενη εντολή. Στη συνέχεια, εκτελέστε:

 Stop-Process -ID 45960 

Αντικαταστήστε το 49560 με το αναγνωριστικό της πηγής σας.

Χρησιμοποιώντας τη διαδρομή του αρχείου, μπορείτε να ξεκινήσετε μια διαδικασία χρησιμοποιώντας το Powershell. Για να ξεκινήσει το Chrome, εκτελέστε την ακόλουθη εντολή:

 Start-Process -Filepath "C:\Program Files (x86) GoogleChromeApplicationchrome.exe" 

(Πρέπει να έχετε τα εισαγωγικά γύρω από τη διαδρομή του αρχείου λόγω των διαστημάτων.) Η παράμετρος -ArgumentList σας επιτρέπει να περάσετε τις επιλογές γραμμής εντολών στην εφαρμογή. Στην περίπτωση του Chrome, μπορείτε να τον αναγκάσετε να ξεκινήσει σε κατάσταση ανώνυμης περιήγησης χρησιμοποιώντας τη σημαία -incognito . Το σύνολο του cmdlet είναι:

 Start-Process -Filepath "C:\Program Files (x86) GoogleChromeApplicationchrome.exe" -ArgumentList "--incognito" 

powershell get-service

Μπορείτε να κάνετε τα περισσότερα από αυτά τα πράγματα με τις υπηρεσίες Πώς να ελέγξετε τις υπηρεσίες που εκτελούνται με την εντολή SC [Windows] Πώς να ελέγξετε τις υπηρεσίες που εκτελούνται με την εντολή SC [Windows] Ένα από τα πράγματα που βρίσκομαι πολύ πιο συχνά από την κατάδυση σε IT παρακολουθεί και ελέγχει την κατάσταση των υπηρεσιών που εκτελούνται σε υπολογιστές που εκτελούνται σε όλη την εταιρεία. Υπάρχει ... Διαβάστε περισσότερα. Η υπηρεσία Get-Service εμφανίζει μια λίστα με όλες τις υπηρεσίες που εκτελούνται στον υπολογιστή σας. Ίδια με τις υπηρεσίες εκκίνησης και τερματισμού, μπορείτε να χρησιμοποιήσετε τις υπηρεσίες Start-Service και Stop-Service .

Εργασία με δεδομένα: Ταξινόμηση-Αντικείμενο, Επιλογή-Αντικείμενο, Όπου-Αντικείμενο

Όταν εργάζεστε με τα δεδομένα από ένα cmdlet, ενδέχεται να μην είναι πάντα η σειρά που θέλετε. Σε αυτές τις περιπτώσεις, θέλετε να χρησιμοποιήσετε το αντικείμενο ταξινόμησης . Μπορείτε να καλέσετε το Sort-Object σε μια μεταβλητή που δημιουργήσατε, αλλά κατά κύριο λόγο χρησιμοποιείται με τη βοήθεια ενός άλλου cmdlet. Όπως και στο παραπάνω παράδειγμα, διοχετεύουμε την έξοδο ενός αντικειμένου σε άλλο και το ταξινομούμε. Ας δημιουργήσουμε μια σειρά από τρεις τυχαίους αριθμούς και να την διοχετεύσουμε στο Sort-Object.

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

 $(Get-Random), $(Get-Random), $(Get-Random) 

Βεβαιωθείτε ότι έχετε παρατηρήσει τα κόμματα που χωρίζουν τις τιμές. Έτσι, για να δείτε τους τυχαίους αριθμούς με ταξινομημένη εκτέλεση:

 $(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object 

Το cmdlet εξάγει τους αριθμούς από το μικρότερο στο μεγαλύτερο, αν θέλετε να το αντιστρέψετε προσθέστε -Descending .

powershell είδος-αντικείμενο

Όταν διοχετεύετε cmdlets στο Get-Member, υπάρχουν περισσότερες ιδιότητες από την προεπιλεγμένη έξοδο. Επιλέγετε συγκεκριμένες ιδιότητες χρησιμοποιώντας το στοιχείο Επιλογή-Αντικείμενο .

Ακριβώς όπως το Sort-Object, χρησιμοποιείτε Select-Object μέσω ενός cmdlet piped. Για παράδειγμα, για να δημιουργήσετε έναν πίνακα υπηρεσιών και την κατάστασή τους χρησιμοποιήστε:

 Get-Service | Select-Object DisplayName, Status 

Ενώ η έξοδος όλων αυτών των δεδομένων είναι ωραία, τι γίνεται αν θέλετε να δείτε μόνο συγκεκριμένα δεδομένα; Το Get-ChildItem έχει ενσωματωμένο φιλτράρισμα, αλλά οι περισσότερες εντολές δεν το κάνουν. Σε αυτές τις περιπτώσεις, χρησιμοποιείτε το αντικείμενο "Αντικείμενο" .

powershell όπου-αντικείμενο

Επιστρέφοντας ξανά σε υπηρεσίες, αυτή τη φορά πρόκειται μόνο να πάρετε υπηρεσίες που εκτελούνται. Εισαγάγετε το cmdlet:

 Get-Service | Where-Object Status -eq "Running" 

Αυτό -eq στη σύγκριση είναι Powershell για = . Στο Powershell, πραγματοποιείτε συγκρίσεις με συνδυασμούς γραμμάτων:

  • eq: ισούται με
  • ne: δεν είναι ίση
  • lt: λιγότερο από
  • gt: μεγαλύτερη από
  • ge: μεγαλύτερη ή ίση με
  • le: μικρότερη ή ίση με
  • όπως: χρήση όπως στις συγκρίσεις μπαλαντέρ

Βοήθεια μορφοποίησης: Μορφοποίηση πίνακα και λίστα μορφοποίησης.

Για αυτά τα διάφορα cmdlets, το μεγαλύτερο μέρος της παραγωγής ήταν σε μορφές πίνακα. Αυτό εμφανίζει τα δεδομένα σε γραμμές και στήλες με κεφαλίδες. Για να εμφανίσετε τις καταχωρίσεις που εμφανίζονται με τις ιδιότητές τους ξεχωριστά, μετακινήστε το cmdlet στη λίστα μορφοποίησης .

λίστα μορφής powershell

Μερικές φορές έχετε μια έξοδο που είναι πολύ μεγάλη για το παράθυρο Powershell. Όταν συμβεί αυτό, το Powershell τον αναγκάζει σε έξοδο λίστας. Για να βεβαιωθείτε ότι έχετε κρατήσει στη σωλήνωση μορφής πίνακα η έξοδος σας στο Format-Table .

Από τη γραμμή εντολών στη δέσμη ενεργειών: Τα επόμενα βήματα

Μόλις είστε άνετοι, η δημιουργία σεναρίων είναι θέμα εισαγωγής των cmdlet. Ενισχύστε την παραγωγικότητά σας με τις δέσμες ενεργειών Windows PowerShell Ενισχύστε την παραγωγικότητά σας με τα scripts των Windows PowerShell Τι θα συμβεί αν θα μπορούσατε να φέρετε την παραγωγικότητα του Linux σε Windows; Οι περισσότεροι διανομείς Linux έρχονται συσκευασμένοι με το ισχυρό κέλυφος Bash. Το PowerShell είναι ένα εξίσου ισχυρό τερματικό για τα Windows. Διαβάστε περισσότερα σε ένα αρχείο κειμένου και αποθηκεύστε το. Εάν είστε νευρικοί για να προσπαθήσετε scripting, μην είστε. Η Microsoft έχει τεράστια ποσότητα τεκμηρίωσης σε κάθε cmdlet. Αυτό είναι πέρα ​​από και πέρα ​​από αυτό το ήδη χρονοβόρα τεκμηρίωση βοήθειας, οπότε φροντίστε να ελέγξετε το Technet.

Εάν μαθαίνετε Powershell, ενημερώστε μας στα σχόλια τι είστε πιο ενθουσιασμένοι να κάνετε. Εάν έχετε περισσότερη εμπειρία, θα θέλαμε να μάθουμε περισσότερα σχετικά με τα πιο εξελιγμένα θέματα που θα θέλατε να δείτε.

In this article