5 Cmdlets για να ξεκινήσετε με το PowerShell
Το PowerShell γίνεται γρήγορα η προτιμώμενη γλώσσα δέσμης ενεργειών και ο CLI των Power Users καθώς και επαγγελματίες πληροφορικής. Αξίζει να μάθετε μερικές εντολές για να ξεκινήσετε, έτσι έχουμε 5 χρήσιμα cmdlet για να μάθετε σήμερα.
Get-Command
Το Get-Command είναι ένα από τα πιο χρήσιμα cmdlets σε ολόκληρο το PowerShell, καθώς θα σας βοηθήσει να ασχοληθείτε με το PowerShell, επιτρέποντάς σας να αναζητήσετε ορισμένα cmdlets. Η χρήση του Get-Command από μόνο του δεν είναι πολύ χρήσιμη, καθώς απλά θα φουσκώνει κάθε εντολή που έχει το PowerShell.
Αλλά από αυτό μπορούμε να δούμε ότι αντικειμενικά ότι οι εξόδους PowerShell έχουν ταυτόχρονα την ιδιότητα Name και ModuleName. Χρησιμοποιώντας αυτές τις πληροφορίες, μπορούμε να προσδώσουμε πρόστιμο στην αναζήτηση μας, αναζητώντας cmdlet που περιέχουν ορισμένους όρους. Για παράδειγμα, εάν ήθελα να βρω όλα τα cmdlets που περιέχουν τη λέξη "IP", θα μπορούσα να το κάνω αυτό:
Get-εντολή-όνομα * IP *
Όπως βλέπετε, έχουμε ακόμα αρκετά αποτελέσματα, η επόμενη επιλογή μας είναι να αναζητήσουμε σε μια συγκεκριμένη ενότητα. Στην περίπτωσή μας θα επιλέξω τη μονάδα NetTCPIP.
Get-Command -Module NetTCPIP - Όνομα * IP *
Ζήτα βοήθεια
Μόλις βρείτε το cmdlet που αναζητάτε χρησιμοποιώντας το Get-Command, θα θέλετε να μάθετε τη σύνταξη και πώς μπορείτε να χρησιμοποιήσετε αυτό το συγκεκριμένο cmdlet. Αυτό είναι όπου Get-Βοήθεια έρχεται, εάν έχετε χρησιμοποιήσει ποτέ τη γραμμή εντολών στα Windows που πιθανότατα κάνατε κάτι σαν αυτό:
ipconfig /?
Λοιπόν αυτό δεν λειτουργεί στο PowerShell, αυτό συμβαίνει επειδή στο PowerShell χρησιμοποιείται ένας χώρος για να διαχωρίσει μια εντολή από τις παραμέτρους της. Έτσι αντ 'αυτού χρησιμοποιούμε το Get-Help και περάσαμε ένα όνομα του cmdlets στο Get-Help ως παράμετρο.
Get-Get Get-Process
Get-μέλος
Το Get-Member μας επιτρέπει να λαμβάνουμε πληροφορίες σχετικά με τα αντικείμενα που επιστρέφει ένα cmdlets. Το catch with get-member, είναι ότι βασίζεται στο χαρακτηριστικό του αγωγού PowerShell, για να το δείξει αυτό, θα μπορέσουμε να χρησιμοποιήσουμε το cmdlet Get-Process.
Όπως βλέπετε, η έξοδος του PowerShell μας δείχνει μερικές από τις ιδιότητες, τις οποίες μπορείτε να δείτε στην κορυφή κάθε στήλης. Το πρώτο πρόβλημα είναι ότι, παρόλο που αυτές είναι οι ιδιότητες που μπορεί να ψάχνετε τις περισσότερες φορές, υπάρχουν ακόμα περισσότερα από αυτά. Το δεύτερο πρόβλημα είναι ότι δεν δείχνει μεθόδους που μπορούμε να καλέσουμε στο αντικείμενο. Για να δούμε τις μεθόδους και τις ιδιότητες μπορούμε να διοχετεύσουμε την παραγωγή μας στο Get-Member, όπως και έτσι:
Get-Process | Get-μέλος
Παρόλο που ίσως δεν σημαίνει τίποτα για σας τώρα, θα χρειαστεί αργά ή γρήγορα να χρησιμοποιήσετε το Get-Member και όσο πιο γρήγορα θα μάθετε να το χρησιμοποιείτε τόσο καλύτερα. Για παράδειγμα, χρησιμοποιώντας τις πληροφορίες από την έξοδο μπορούμε να κάνουμε κάτι σαν:
Ξεκινήστε-Διαδικασία notepad.exe
$ NotepadProc = Get-Process -Με σημειωματάριο
$ NotepadProc.WaitForExit ()
Εκκίνηση-Διαδικασία calc.exe
Αυτό το σενάριο θα ξεκινήσει το σημειωματάριο, τότε εκχωρεί την έξοδο του "Get-Process-Name σημειωματάριο" στη μεταβλητή $ NotepadProc, τότε ονομάζουμε τη μέθοδο WaitForExit στο $ NotepadProc που προκαλεί τη διακοπή της δέσμης ενεργειών μέχρι να κλείσετε σημειωματάριο, τότε θα ξεκινήσει η αριθμομηχανή.
$ _ (Αντικείμενο τρέχοντος αγωγού)
Αν και δεν είναι ακριβώς ένα cmdlet, είναι μια από τις πιο χρησιμοποιούμενες ειδικές μεταβλητές στο PowerShell. Το επίσημο όνομα για το $ _ είναι "το τρέχον αντικείμενο αγωγού". Χρησιμοποιείται σε μπλοκ δέσμης ενεργειών, φίλτρα, στη ρήτρα επεξεργασίας των λειτουργιών, όπου-αντικείμενο, foreach-αντικείμενο και διακόπτες. Ωστόσο, είναι ευκολότερο να εξηγηθεί με ένα παράδειγμα, το οποίο μας φέρνει στο επόμενο και τελικό cmdlet μας, όπου-αντικείμενο.
Πού-Αντικείμενο
Όταν το Αντικείμενο κάνει ακριβώς αυτό που ακούγεται, επιλέγει ένα αντικείμενο βασισμένο στο αν ικανοποιεί ορισμένα κριτήρια. Αυτό θα συγκεντρώσει $ _, και τις ιδιότητες που μπορούμε να δούμε χρησιμοποιώντας το Get-Member. Για να το δείξουμε αυτό, θα διοχετεύσουμε την έξοδο της Get-Process στο cmdlet Where-Object.
Get-Process | Όπου-Αντικείμενο $ _. Name -eq "iexplore"
Τι συμβαίνει εδώ; Το πρώτο πράγμα που κάνουμε είναι να πάρουμε μια λίστα διαδικασιών στον υπολογιστή μας και να περάσουμε την έξοδο (χρησιμοποιώντας τον χαρακτήρα |) στο cmdlet μας Where-Object, το οποίο παίρνει ένα μπλοκ δέσμης ενεργειών ως παράμετρο. Το μπλοκ δέσμης ενεργειών (που καθορίζεται από τις σγουρές αγκύλες) καθοδηγεί τα cmdlet "Where-Object" να επιλέγουν μόνο αντικείμενα όπου η παράμετρος τους όνομα είναι ίση με "iexplore", και έτσι έχουμε μόνο μια λίστα των παρουσιών IE που εκτελούνται. Αυτό είναι το μόνο που υπάρχει σε αυτό, διασκεδάστε!