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

Άποψη: 11695|Απάντηση: 1

Οδηγός έναρξης του PowerShell - έκδοση v0.3

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 19/4/2017 4:48:30 μ.μ. | | |


---------- Κεφάλαιο 1 Ιστορικό δέσμης ενεργειών των Windows --------------


1 Η πρώτη γενιά νυχτερίδων σεναρίου. Ξεκίνησε με win95, win98--------- και τελείωσε γύρω στο 2008. Χαρακτηριστικά: Εντολές προσανατολισμένες σε χαρακτήρες, με γραμμή εντολών και διοχέτευση.
2 Σενάριο δεύτερης γενιάς VBS. Χαρακτηριστικά: Μόνο συναρτήσεις, περαστικές τιμές, κλήσεις.
3 Powershell σεναρίου τρίτης γενιάς. Από το 2012, η εντολή έχει εξελιχθεί πλήρως σε αντικειμενοστραφή. Για παράδειγμα, η λίστα εργασιών και η διαδικασία λήψης είναι επαναλαμβανόμενα χαρακτηριστικά τροχού: αντικειμενοστρεφή. Κληρονομώντας τα πλεονεκτήματα των δύο προηγούμενων γενεών σεναρίων.



Ε: Γιατί να μάθετε το PowerShell;
A:
Ο ιεραπόστολος απάντησε ότι θα μελετούσε για ένα χρόνο και πέντε χρόνια στο BAT. Απλή σύνταξη και ισχυρές λειτουργίες βιβλιοθήκης!
Το μοναδικό στον κόσμο που υποστηρίζει αντικείμενα με εντολές και στις δύο πλευρές του αγωγού. δηλαδή αντικειμενοστραφής εντολή 1 | Αντικειμενοστραφής εντολή 2

Τα Windows και το Linux είναι διαφορετικά:
Στο σενάριο PowerShell στο Win,
Υποστήριξη CR, LF, CRLF enter. Υποστήριξη συγχρονισμού πολλαπλών νημάτων και πολλαπλών διεργασιών.
Είναι εύκολο να ενσωματώσετε [ήχος Text2], "Report Captain, ο δίσκος είναι γεμάτος".
Η ενσωμάτωση μιας γραφικής διεπαφής είναι εύκολη. (Όταν, η αναδυόμενη διεπαφή σάς ζητά να εισαγάγετε όνομα χρήστη, κωδικό πρόσβασης, απλή επιλογή, πολλαπλή επιλογή κ.λπ.) Αυτές είναι οι ζήλιες των σεναρίων Linux.

Το PowerShell είναι διαφορετικό από την Python:
Είναι εύκολο να χρησιμοποιήσετε τα κινέζικα στο PowerShell. Όνομα κινεζικής γραφής, όνομα μεταβλητής, σχόλιο. Κινέζικα μονά εισαγωγικά, κινέζικα διπλά εισαγωγικά.
Αναγνωρίζει αυτόματα την κωδικοποίηση GBK, UTF8, Unicode. Τα αντικείμενα υποστήριξης αγωγών, τα οποία ζηλεύουν τα σενάρια Python.



Απλό συντακτικό παράδειγμα 1: Η μαγεία των μονών και διπλών εισαγωγικών του powershell.
Μονά εισαγωγικά, μπορούν να παρατεθούν με διπλά εισαγωγικά. Και αντίστροφα.
Τα μονά και τα διπλά εισαγωγικά μπορούν να @引用 με @''.
Η ΒΔΤ δεν λειτούργησε.


Ιεραποστολικός αφηγητής:
Σκέφτηκα πολύ τον σχεδιασμό του σεμιναρίου. Δεν διαβάσατε ότι το ιστορικό μέρος αυτού που έγραψα ήταν πολύ [απλό και πρόχειρο]; Η ιστορία μεταφέρεται με ένα εγκεφαλικό επεισόδιο.
Αλλά αφού το είπα, δεν είναι ανοησία, απλά θέλω οι μαθητές να ξεκαθαρίσουν ότι από το win7-win2008, η [αντικειμενοποίηση] των σεναρίων έχει γίνει δημοφιλής. Οδηγεί στο επόμενο κεφάλαιο της αντικειμενοστρεφούς εξήγησης.
Κάθε εισαγωγικό σεμινάριο PS θα πρέπει να αναφέρει τη διαφορά μεταξύ προσανατολισμένου χαρακτήρα και αντικειμενοστρεφούς. Είναι απλώς σκόπιμο να τρίψετε αυτό το θέμα στο ιστορικό της γραμμής εντολών.

---------- Κεφάλαιο 2 Η υπέροχη -------------- του αντικειμενοστρεφούς
Τι είναι ένα αντικείμενο, γιατί είναι αντικειμενοστραφή και γιατί η Microsoft ενισχύει τον τροχό;

Αντικειμενοστραφή παράδειγμα 1:
Ερώτηση: Τρώω 2,2 μήλα την ημέρα, πόσα μήλα τρώω σε 17 ημέρες;
A:
Διατίθεται 2,2 x 17. Είναι επίσης δυνατή η χρήση i++ που υποστηρίζεται από οποιαδήποτε γλώσσα δέσμης ενεργειών.
για ($i = 1; $i -lt 18; $i++)
{
        $Apple = 2,2 + $Apple
        write-host $i,$Apple
}

--------------------------------------------
Μόλις αλλάξει η ερώτηση, δεν θα σας πω τον αριθμό των ημερών, μόνο να σας πω,
Τρώω 2,2 μήλα την ημέρα, πόσα μήλα τρώω από τις 20 Ιανουαρίου έως τις 20 Ιουνίου 2017;
$days = ((ημερομηνία λήψης '2017-06-20') - (ημερομηνία λήψης '2017-01-20')).ημέρες #值151


Τρώω 2,2 μήλα την ημέρα, πόσα μήλα τρώω από τις 20 Ιανουαρίου έως τις 20 Ιουνίου 2020;
$days = ((ημερομηνία λήψης '2020-06-20') - (ημερομηνία λήψης '2020-01-20')).ημέρες #值152

για ($i=(ημερομηνία λήψης '20-01-2020'); $i -lt (ημερομηνία έναρξης «2020-06-20»); $i=$i.adddays(1))
{
        $Apple = 2,2 + $Apple
        write-host $i,$Apple
}

Συμπέρασμα: Με το αντικείμενο ημερομηνίας, η μέτρηση ημερών, ωρών κ.λπ., είναι απλή. Το [for,,i++] είναι κοινό, αλλά ποτέ δεν πίστευα ότι ο αριθμός i θα μπορούσε να είναι τύπου ημερομηνίας.

------------------------------------------



Ποια είναι τα πλεονεκτήματα του αντικειμενοστρεφούς;
Πριν από την αντικειμενοστραφή, έχουμε μόνο συμβολοσειρές και ακέραιους αριθμούς.
1 Υπάρχει ένα αντικείμενο.
----- [Τύπος χαρακτήρα]-----
Το γλύφο έχει system.string, το οποίο είναι το πιο βασικό.
Μνήμη System.Text.StringBuilder, συχνά μεταβαλλόμενη, μεγάλες συμβολοσειρές

----- [Αριθμητικός τύπος]-----
system.int32, system.int64, system.decimal, system.double, System.Numerics.BigInteger άπειρος ακέραιος.
Συνήθως χρησιμοποιείται το int32, δεκαδικό.

Το αν το 1/3*3 είναι ίσο με 1 ή 0,9999 εξαρτάται από τον τύπο δεδομένων.
----- [Πίνακας]-----
συστοιχία system.array
Ο πίνακας system.arraylist αλλάζει συχνά, όπως πάντα επανεγγραφή, προσάρτηση ή διαγραφή, πρέπει να το χρησιμοποιήσετε. Η ταχύτητα είναι σχετικά γρήγορη.
System.Collections.Generic.HashSet καταργήστε τους διπλότυπους πίνακες. Το ίδιο με το αντικείμενο συνόλου της python.

-----【Μορφή】-----
1 έξοδος εντολής. Για παράδειγμα, dir, get-process.
2. Όταν γράφουμε σενάρια, χρησιμοποιούμε αντικείμενα και χαρακτηριστικά για την κατασκευή.

----- [Άλλα] -----
πίνακες κατακερματισμού, αρχεία κ.λπ.



Το 2 έχει ιδιότητες. Τα χαρακτηριστικά είναι ορίσματα και είναι μικρότερα από τις συμβολοσειρές. Πριν δεν υπάρχουν χαρακτηριστικά, πρέπει να φιλτράρουμε και να φιλτράρουμε τις συμβολοσειρές με [κανονικό, που καίει τον εγκέφαλο], που αναφέρεται ως [συμβολοσειρά αφαίρεσης]. Εάν έχετε χαρακτηριστικά, δεν τα χρειάζεστε.
3Υπάρχει τρόπος. Η μέθοδος είναι το πρόγραμμα, ο κώδικας. Δεν χρειάζεται να το ξαναγράψετε μόνοι σας. Η νυχτερίδα σίγουρα δεν είναι καλή, δεν υπάρχει περίπτωση, υπάρχει και προσωπική γραφή, αναξιόπιστη, μην τολμήσεις να τη χρησιμοποιήσεις.
Οι μέθοδοι μπορεί να είναι αυτογραφικές συναρτήσεις ps, αυτογραφικές μέθοδοι σε ps.
Η μέθοδος που γράφετε μόνοι σας μπορεί να [συγχωνευθεί] προσωρινά σε μια κλάση τρίτου μέρους.
Η μέθοδος που γράφετε μόνοι σας μπορεί να [συγχωνευθεί] προσωρινά στην κλάση .net.

Ποια είναι τα μειονεκτήματα του αντικειμενοστρεφούς;
Ο ιεροκήρυκας διδάσκει powershell σε άτομα που χρησιμοποιούν winxp. Το άτομο είπε ότι το powershell δεν είναι καλό, το αντικείμενο είναι πολύ εντατικό στη μνήμη και έχει δίκιο.
Στο cmd επιστρέφω 100 ονόματα αρχείων (συμβολοσειρές) με dir. Στο PowerShell, χρησιμοποιώ το dir για να επιστρέψω 100 αντικείμενα αρχείων και το Powershell καταλαμβάνει πολλή μνήμη.
Αλλά τώρα είναι διαφορετικά:
1. Δεν πρέπει να υπάρχει περιττό περιεχόμενο στις μεταβλητές. Ή καταστρέψτε το αμέσως μετά τη χρήση για να μειώσετε τη χρήση της μνήμης.
2. Η πτώση μνήμης είναι αρκετή. Επειδή η απόδοση της CPU δεν μπορεί πλέον να αυξηθεί, αυξάνουμε μανιωδώς τη μνήμη σε μια προσπάθεια να ανταλλάξουμε χώρο με χρόνο.
3. Θέλουμε πιο ισχυρά χαρακτηριστικά και ο αντικειμενοστραφής είναι ο πιο βασικός αυτές τις μέρες. Ποιο δεν είναι αντικειμενοστραφή, py, php, java, .net, c++;

Περίληψη:
1 Τα αντικείμενα είναι μεγαλύτερα και απαιτούν μεγαλύτερη μνήμη από τις συμβολοσειρές.
2. Υπάρχουν περισσότερες μέθοδοι για αντικειμενοστραφή και ισχυρότερες λειτουργίες.
3 χαρακτηριστικά είναι μικρότερα από την ευαισθησία συμβολοσειράς, κάτι που είναι εξαιρετικά βολικό στη χρήση. Αποφύγαμε τις [τρελή χρήση του κανονικού φιλτραρίσματος που καίει τον εγκέφαλο] χορδές!


=== Τρελή χρήση κανονικών που καίνε τον εγκέφαλο για φιλτράρισμα παραδειγμάτων, έκδοση νυχτερίδας της προεπιλεγμένης πύλης ping ===
@echo απενεργοποίηση&ρύθμισητοπική ενεργοποίησηκαθυστερημένηεπέκταση
Το echo αναζητά την προεπιλεγμένη πύλη...

for /f "usebackq delims=" %%i in ('ipconfig /all') do (
echo %%i|find /i "gateway">nul|| echo %%i|εύρεση "προεπιλεγμένης πύλης" >nul
αν "!errorlevel!" =="0" (
για /f "tokens=2 delims=:" %%a in ("%%i") do for /f "delims= " %%m in ("%%a") do set ipgate=%%m
)
)

Η προεπιλεγμένη πύλη echo είναι: !ipgate!
=========== ping στην προεπιλεγμένη πύλη.ps1============
$default gateway = (get-netroute -DestinationPrefix 0.0.0.0/0). ΕπόμενοHop
& ping.exe $ Προεπιλεγμένη πύλη

# δοκιμαστική σύνδεση $ προεπιλεγμένη πύλη
=======================






Ερ: Ακόμα κι αν το αντικειμενοστραφή είναι τόσο καλό, από πού προέρχονται αυτά τα αντικείμενα;
Α: Από τη βιβλιοθήκη .net.


---------- Κεφάλαιο 3 Εισαγωγή στο .NET --------------


Ε: Πόσους κλάδους έκδοσης έχει το .NET Core;
A:
Αυτή τη στιγμή υπάρχουν τρεις εκδόσεις.
.NET 2.0 Η πιο πρόσφατη έκδοση του .NET 3.51
.NET 4.0 Η πιο πρόσφατη έκδοση του .NET 4.70
.NET Core 1.x Η πιο πρόσφατη έκδοση του .NET 1.2 για συστήματα Apple, συστήματα Linux και ενσωματωμένα συστήματα.
.NET Core 2.x Η πιο πρόσφατη έκδοση του .NET 2.0 για συστήματα Apple, συστήματα Linux και ενσωματωμένα συστήματα.



Ε: Πόσους λειτουργικούς κλάδους έχει το .net;
A:
Διακλάδωση επιφάνειας εργασίας στο .NET. WinForm. Για την ανάπτυξη παραθύρων επιφάνειας εργασίας.
Βιβλιοθήκη ήχων
asp.net σε .NET και .NET Core. Βιβλιοθήκη λειτουργιών διακομιστή ιστού. Χρησιμοποιείται για το άνοιγμα ενός διακομιστή ιστού B/S.
F# σε .NET και .NET Core. Περιέχει βιβλιοθήκες μαθηματικών, βιβλιοθήκες τριγωνομετρικών συναρτήσεων κ.λπ.
PowerShell σε .NET και .NET Core. Περιέχει κοινές διεπαφές διαχείρισης συστήματος, όπως αρχεία σεναρίων.
Linux
◦Ubuntu 14.04 \ 16.04
◦CentOS/RHEL 7 και άνω
◦ανοίξτε το SUSE 42 και νεότερη έκδοση
◦Arch Linux (το archl inux δεν έχει αριθμό έκδοσης)
◦Κοντέινερ docker LINUX
◦Κοντέινερ Linux AppImage (φορητή εφαρμογή single binary) https://github.com/probonopd/AppImageKit



MAC OS X
◦OS X 10.11


Ε: Πώς συνδέεται ένα πρόγραμμα .NET (πρόγραμμα C#) σε έναν διακομιστή MySQL;
A:
Μεταβείτε στον επίσημο ιστότοπο της mysql για λήψη της σύνδεσης για τη γλώσσα .NET.
mysql-connector-net-6.9.9-noinstall.zip--->v4.5--->MySql.Data.dll
Προσθέστε την κλάση MySql.Data στο .net και προσθέστε τη διεπαφή βάσης δεδομένων.



Συμπέρασμα:
Ο υπολογιστής WinXP εγκαθιστά πρώτα τον υπολογιστή .net 3.51, win7 και win2008, εγκαθιστά πρώτα τον υπολογιστή .net 4.62 ή νεότερη έκδοση.

Το .NET υπάρχει εδώ και πολλά χρόνια και δεν υπάρχουν πολλά λογισμικά που υποστηρίζουν .NET από την Java. Όλα τα υποκαταστήματα, οι διεπαφές .net (βάσεις δεδομένων, WeChat κ.λπ.). )
Αυτά τα dll, αυτές οι βιβλιοθήκες, το powershell μπορούν να κληθούν. Είναι ακριβώς το ίδιο με το exe γραμμένο σε C#.


Ε: Εκτός από τη διεπαφή διακλάδωσης .NET, ποιες είναι οι βιβλιοθήκες (ενότητες) του PowerShell;
A:
Δείτε το επόμενο κεφάλαιο

---------- Κεφάλαιο 4 Ενσωματωμένες βιβλιοθήκες, εξωτερικές βιβλιοθήκες και βιβλιοθήκες τρίτων κατασκευαστών που χρησιμοποιούνται συνήθως στο PowerShell --------------

Ιεραποστολική βοήθεια:
Αυτό το κεφάλαιο δεν μπορεί να συζητηθεί, αλλά είναι απλώς μια λίστα βιβλιοθηκών και εγχειριδίων. Προσθέστε σελιδοδείκτη σε αυτό το κεφάλαιο. Αφού κοιτάξετε αυτές τις βιβλιοθήκες, θα μάθετε τι μπορεί να κάνει το PowerShell.



Μη αυτόματη διεύθυνση Win2012: (Η πιο συχνά χρησιμοποιούμενη ενότητα διαφημίσεων)
https://technet.microsoft.com/zh-cn/library/dn249523(v=wps.630).aspx
Διαχείριση ομάδας χρηστών AD, DHCP, DNS, Εκτυπωτής, Κοινή χρήση αρχείων, IIS, Δίσκος, NIC,



Ανταλλαγή2016
https://technet.microsoft.com/zh-cn/library/bb124413.aspx
Υπηρεσία καταλόγου Active Directory 12         
Anti-Spam και Anti-Malware 59  
Πρόσβαση πελάτη 100
Πράκτορας επέκτασης 4
Διευθύνσεις ηλεκτρονικού ταχυδρομείου και βιβλία διευθύνσεων 37
Ομοσπονδία και υβριδική διαμόρφωση  
Υψηλή διαθεσιμότητα  
Ροή αλληλογραφίας  
Γραμματοκιβώτιο  
Βάση δεδομένων γραμματοκιβωτίου  
Διακομιστής γραμματοκιβωτίου  
Μετακίνηση και μετεγκατάσταση  
Οργάνωση  
Άδειες  
Πολιτική και συμμόρφωση  
Ασφάλεια  
Εύρυθμη, παρακολούθηση και απόδοση διακομιστή  
Μοιραστείτε και συνεργαστείτε  
Ενοποιημένο μήνυμα  
Χρήστες και ομάδες  



sqlserver2016
https://msdn.microsoft.com/zh-cn/library/hh245198.aspx



LYNC2015
https://technet.microsoft.com/zh-CN/library/gg398867.aspx




SharePoint2016
https://technet.microsoft.com/zh-cn/library/ff678226(v=office.16).aspx



Amazon Virtual Machines, AWS, Microsoft Virtual Machines, Azure, Hyper-V, VMware vSphere και εικονικές μηχανές εταιρικής ποιότητας.


Πελάτες:
Υπηρεσίες, διαδικασίες, αρχεία καταγραφής, μητρώα, κατάλογοι αρχείων, απομακρυσμένη διαχείριση. Χρονομετρημένες εργασίες.



Διαδίκτυο:
Προσθήκη πελάτη FTP, mail, SSH για σύνδεση διακομιστή Linux.


Κείμενο:
XML, HTML, CVS, JSON, EXCEL κ.λπ.


Κείμενο 2 φωνή


Γραφική διεπαφή.


Κέντρο δέσμης ενεργειών της Microsoft
https://gallery.technet.microsoft.com/scrip{过滤}tcenter/


Επίσημος ιστότοπος πηγής λογισμικού PowerShell --- επίσημη βιβλιοθήκη PowerShell.
https://www.powershellgallery.com


Οι άλλες βιβλιοθήκες Niu x είναι όλες στο github. Επιπλέον, οι ιεραπόστολοι δημοσιεύουν τακτικά το [Niu x Magic Weapon] του [Hidden Foot Pavilion], το οποίο είναι μια χρήσιμη βιβλιοθήκη τρίτων του PowerShell.


---------- Κεφάλαιο 5 Οι αρχάριοι πρέπει να μάθουν πώς να βοηθούν στη χρήση των εντολών--------------


Ε: Πώς μπορώ να γνωρίζω την έκδοση PowerShell;
A:
$PSVersionTable



Ε: Δεν ξέρω τη μονάδα, πώς να τη βρω;
A:
get-module -ΛίσταΔιαθέσιμο


Ε: Πώς μπορώ να βρω εντολές όταν γνωρίζω μόνο ένα μέρος τους;
A:
get-command *υπηρεσία*



Ε: Γνωρίζω την εντολή, αλλά δεν ξέρω ποιες παραμέτρους υπάρχουν στην εντολή, πώς να παραθέσω τις παραμέτρους;
A:
get-help write-host -Παράμετρος *
show-command write-host


Ε: Γνωρίζω την παράμετρο, αλλά δεν ξέρω ποια εντολή έχει αυτήν την παράμετρο, πώς μπορώ να βρω την εντολή;
A:
get-command -Κωδικοποίηση ParameterName



Ε: Πώς μπορώ να λάβω βοήθεια με μια εντολή από τη γραμμή εντολών;
A:
Λήψη Βοήθειας Get-Date

-Παραδείγματα παραδειγμάτων εντολών
-ηλεκτρονικό ηλεκτρονικό εγχειρίδιο




Ε: Δεν ξέρω τη μέθοδο χαρακτηριστικών της εντολής (δεν ξέρω το αντικείμενο), πώς να το βρω;
A:
"ABC" | Γίνε μέλος
ημερομηνία λήψης | Γίνε μέλος



Ε: Πού βρίσκεται το κινεζικό εγχειρίδιο .NET;
A:
msdn。 Οι πιο βασικές ιδιότητες και μέθοδοι συμβολοσειράς βρίσκονται στο εγχειρίδιο.
https://msdn.microsoft.com/zh-cn/library/system.string.aspx



---------- Κεφάλαιο 6 Εισαγωγή στις κοινές εντολές --------------

Η πρώτη εντολή που πρέπει να μάθετε είναι dir
Ε: Γιατί να χρησιμοποιήσετε το powershell dir [δηλαδή, Get-ChildItem] αντί για το cmd dir;
A:
Αντικειμενοστραφής, ισχυρή μέθοδος και πολλά χαρακτηριστικά.
$file = dir a:\pscode\temp183\aaa.txt
$file. Ονοματεπώνυμο #返回全路径属性
$file. BaseName #返回文件名属性
$file. Επέκταση #返回扩展名属性
$file. LastWriteTime #返回最后写入时间属性



Η πρώτη σύνταξη που πρέπει να μάθετε είναι η σύνταξη πίνακα. $a = @(εντολή xxx)
Ε: Μερικές φορές πρέπει να χρησιμοποιήσετε [εξωτερικές εντολές που βασίζονται σε χαρακτήρες] για να διαιρέσετε τις τιμές επιστροφής σε πίνακες ανά μονάδες συμπεριφοράς.
A:
$a = @(ipconfig)
$a[8] #第9行


get-childχρήση αντικειμένου:
Προστέθηκαν παράμετροι στο PowerShell 3.0 και νεότερη έκδοση

get-childitem d:\xxx -file #过滤, μόνο αρχεία εξόδου
-Φιλτράρισμα καταλόγου, κατάλογοι μόνο εξόδου
-Κρυφό φιλτράρισμα, μόνο κρυφή έξοδος


Ε: Ανοίξτε ένα αρχείο, τμηματοποιήστε κατά συμπεριφορά, βάλτε το σε έναν πίνακα;
A:
$a = Λήψη περιεχομένου a:\pscode\temp183\aaa.txt -ReadCount 0



Ε: Ανοίξτε ένα αρχείο, ως μεγάλη συμβολοσειρά, και αποθηκεύστε ολόκληρη τη μεταβλητή;
A:
$a = Λήψη περιεχομένου a:\pscode\temp183\aaa.txt -raw


$a,$b,$c = 1,2,3


Ε: Πώς μπορώ να εκτελέσω εντολές στο παρασκήνιο;
A:
Υπάρχει μια "εντολή" cmd /c στην αρχαιότητα.
Τώρα υπάρχει το powershell /c "command" ή το powershell -c "command",
powershell -αρχείο "script.ps1" -όρισμα 1 aaaa -παράμετρος 2 1234
start-process -path xxx.exe -ArgumentList '-parameter1 aaaa -parameter2 1234'


Ε: Θέλω να εκτελέσω το σενάριο με έναν άλλο τοπικό χρήστη, αλλά το powershell δεν έχει runas. exe παρόμοιες εντολές;
A:
Υπάρχουν διάφορες συνεδρίες στο PowerShell.
ip + θύρα + όνομα χρήστη + κωδικός πρόσβασης = μια περίοδος λειτουργίας, χρειάζεται μόνο να αλλάξω το όνομα χρήστη, να αλλάξω τον κωδικό πρόσβασης και μπορείτε να αλλάξετε τα δικαιώματα. Επειδή τα δικαιώματα συνδέονται με τον χρήστη.
Ομοίως, χρειάζεται μόνο να δημιουργήσω n συνεδρίες για χρήση, χωρίς να αλλάξω χρήστες.
Το πιο σημαντικό new-pssession έχει την παράμετρο -Credential, εισάγετε τον κωδικό πρόσβασης χρήστη, ο οποίος δεν είναι ίδιος με το runas. Είναι το exe το ίδιο; Τι άλλο είναι το SmbSession;
Επομένως, δεν νομίζω ότι είναι απαραίτητο να χρησιμοποιήσετε runas στο powershell. exe。
Απλώς πρέπει να χρησιμοποιήσετε αυτές τις εντολές με συνεδρία και διαπιστευτήρια, σωστά;

Ελέγξτε τις εντολές με το όνομα [Credential] στο όνομα της παραμέτρου:
get-command -Διαπιστευτήριο ParameterName

Προβολή εντολών με το χαρακτήρα [session] στην εντολή:
get-command *συνεδρία*


Ε: Πώς μπορώ να στείλω ένα email χρησιμοποιώντας το PowerShell;
A:
Send-MailMessage -Θέμα 'Θέμα'
-Από το "ο λογαριασμός σας στο hotmail @hotmail.com" -Στο "το email σας στο QQ @qq.com" '
-SmtpServer "smtp.live.com" -θύρα 587 -useSsl -credential "ο λογαριασμός σας στο hotmail @hotmail.com" '
-Συνημμένα $Attachments -BodyAsHTML -body $HTML το περιεχόμενο του email

Σημείωση:
1 χρήσηxxx@QQ.com+ Ο κωδικός πρόσβασης QQ + η παραπάνω εντολή Η αποστολή email δεν λειτουργεί. Επειδή για την ασφάλεια των κωδικών πρόσβασης QQ, η Tencent απαιτεί ανεξάρτητους κωδικούς πρόσβασης email.  
2 Η αποστολή από το γραμματοκιβώτιο QQ δεν είναι δυνατή από προεπιλογή. Είναι απενεργοποιημένο και πρέπει να ενεργοποιήσετε το SMTP στις ρυθμίσεις.
3 Το PowerShell 3.0 και νεότερη έκδοση υποστηρίζει μόνο παραμέτρους θύρας. Για win7, πρέπει πρώτα να εγκαταστήσετε την πιο πρόσφατη έκδοση του PS




Ε: Παρακολουθήστε τη νίκη CPU, δίσκου, δικτύου, IO κ.λπ.
A:
Performance Monitor ή
Το Get-Counter ανακτά δεδομένα μετρητή επιδόσεων τόσο από τοπικούς όσο και από απομακρυσμένους υπολογιστές.

Ε: Πώς μπορώ να δω ποια είδη πάγκου είναι διαθέσιμα;
A:
Είναι όλα στο εγχειρίδιο.
Ελέγξτε ποιες είναι οι κύριες κατηγορίες χρήσεων:
Get-Counter -ListSet * | Sort-Object CounterSetName | Μορφή-Πίνακας CounterSetName


Για παράδειγμα, τώρα ξέρω ότι η κατηγορία δίσκου είναι (PhysicalDisk) και, στη συνέχεια, ελέγξτε τις υποκατηγορίες στο δίσκο, χρησιμοποιήστε:
(Get-Counter -ListSet PhysicalDisk). Μονοπάτια




Ε: Πώς μπορώ να δω τα αρχεία καταγραφής;
A:
Event Viewer, ή
get-eventlog



Ε: Πώς εκτελώ συμβολοσειρές;
A:
$cmd 1 = 'χχχχ'
Invoke-Expression $cmd 1


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


---------- Κεφάλαιο 7 PS1 Δέσμες ενεργειών, εντοπισμός σφαλμάτων και εκτέλεση --------------
Ένα σενάριο είναι ένας συνδυασμός και επικάλυψη εντολών. Το σενάριο είναι κόλλα, ψάξτε για άλλους να καλέσετε, ψάξτε για τροχούς για να συναρμολογήσετε το αυτοκίνητο. Αντί να φτιάχνουν τροχούς, για να τους χρησιμοποιούν άλλοι.



Ο Cainiao ρώτησε: Πώς να γράψετε ένα σενάριο;
Το γέρικο πουλί απάντησε:
1 Οι λεπτομέρειες του προβλήματος πρέπει να διευκρινιστούν. Για παράδειγμα: φτιάξτε φεγγαρόπιτες.
2 Οι ιδέες επίλυσης προβλημάτων είναι επίσης βασικά ολοκληρωμένες. Αλεύρι και νερό, βάζουμε τη γέμιση, αχνίζουμε.
3 Ποιες εντολές και μεταβλητές να χρησιμοποιήσετε. Προσθέστε πέντε πυρήνες, βάλτε τους σε μια φόρμα και στύψτε.
4 Γράψε πρώτα χονδρικά, γράψε χονδρικά.
5 Ο εντοπισμός σφαλμάτων πέρασε.
6 Γράψτε λεπτομερώς. Εξετάστε την κατάσταση σφάλματος, συν τον κωδικό σφάλματος, το μήνυμα σφάλματος. Καταργήστε τον επιρρεπή σε σφάλματα κώδικα που δεν είναι εύκολα συμβατός. Ξαναγράψτε κώδικα που δεν έχει καλή απόδοση.
Μέχρι αυτό το σημείο, ένα καλό σενάριο μπορεί να μην φαίνεται καλό, αλλά θα πρέπει να είναι πολύ χρήσιμο.
7 Λεπτοδουλεμένο. Refactoring, εγγραφή επαναχρησιμοποιημένων αποσπασμάτων κώδικα σε συναρτήσεις. Ξαναγράψτε τα ονόματα των μεταβλητών, ώστε οι άνθρωποι να μπορούν να τα καταλάβουν με μια ματιά. Μορφοποιήστε καλά τον κώδικα και κάντε την εσοχή.


Ε: Ποιο IDE χρησιμοποιείται για τη συγγραφή του PS1;
A:
Το πιο συνιστώμενο είναι να χρησιμοποιήσετε τον κώδικα του Visual Studio, καθώς και την προσθήκη PowerShell.
Χαρακτηριστικά: Προτροπές κώδικα, αυτόματη συμπλήρωση, μορφοποίηση κώδικα, εσοχή για επιλογή διαστήματος ή καρτέλας, ρυθμίσεις κωδικοποίησης αρχείων.
Υπάρχει ένα πρόσθετο που ονομάζεται FTP-sync, το οποίο μπορεί να γράψει σενάρια PS1 στο VSCode του Win και να τα συγχρονίσει αυτόματα με τον κατάλογο Linux όταν αποθηκευτεί.



Ε: Ποια εργαλεία χρησιμοποιούνται για τον εντοπισμό σφαλμάτων στο PS1;
A:
Το πιο προτεινόμενο powergui life δεν χρησιμοποιεί ατμομηχανή, ακόμα κι αν είναι ήρωας, το σενάριο PS θα πηδήξει επίσης και θα αναφέρει ένα σφάλμα!
Το vscode είναι επίσης μια χαρά



Ε: Ποια εργαλεία χρησιμοποιείτε για τη μορφοποίηση κώδικα;
A:
Όλα όσα πρέπει να έχουν εσοχή έχουν εσοχή και τα σύμβολα ίσον είναι ευθυγραμμισμένα.

Πρόσθετο PowerShell ISE + ISE [ISESteroids]

Εγκατάσταση:
Install-Module -Όνομα ISESteroids

Το ISE εκτελεί:
Έναρξη-Στεροειδή





Ε: Ποια εργαλεία χρησιμοποιείτε για να κάνετε το χρώμα του κώδικα όμορφο;
A:
1 Χρησιμοποιήστε τα παραπάνω εργαλεία για να μορφοποιήσετε τον κώδικα.
2 Χρησιμοποιήστε το PowerShellise + Missionary DIY Color Matching 2016 Edition.
3 Πιάσε τη φωτογραφία. Παράγεται ο πιο ευχάριστος και όμορφα χρωματισμένος κώδικας PowerShell στον κόσμο.

Όλα τα παραπάνω IDE είναι στα κινέζικα.




Ε: Πώς μπορώ να ονομάσω ένα σενάριο; xxx.PS1
A:
Συνιστάται να ξεκινήσετε με 1---2 γράμματα και να χρησιμοποιήσετε το κινεζικό όνομα αρχείου για τα υπόλοιπα. π.χ. [bf backup όλα τα παλιά files_ και διαγραφή .ps1 από πριν από 10 ημέρες]
Με αυτόν τον τρόπο, πληκτρολογήστε πρώτα [bf] και, στη συνέχεια, πατήστε tab για να ολοκληρώσετε το όνομα του σεναρίου.




Ε: Πώς μπορώ να ενεργοποιήσω την άδεια εκτέλεσης σεναρίου PowerShell;
A:
echo Ο παρακάτω κώδικας μπορεί να εκτελεστεί σε cmd με δικαιώματα διαχειριστή ή στο PowerShell με δικαιώματα διαχειριστή.
echo εάν χρησιμοποιείτε τηλεχειριστήριο PowerShell Remoting. Τόσο ο τοπικός υπολογιστής όσο και ο απομακρυσμένος υπολογιστής πρέπει να εκτελούνται με δικαιώματα διαχειριστή.
"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -εντολή "Set-ExecutionPolicy -ExecutionPolicy Unrestricted"
"C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -εντολή "Set-ExecutionPolicy -ExecutionPolicy Unrestricted"
& "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -εντολή "Set-ExecutionPolicy -ExecutionPolicy Unrestricted"
& "C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -εντολή "Set-ExecutionPolicy -ExecutionPolicy Unrestricted"
Παύση



Ερ: Ποια είναι τα μειονεκτήματα της ατμομηχανής (powergui);
A:
Δεν είναι δυνατός ο ορισμός του χρώματος φόντου.




Ε: Ποια είναι τα μειονεκτήματα του vscode;
A:
Το $ και το όνομα της μεταβλητής δεν έχουν το ίδιο χρώμα.
Οι λειτουργίες εντοπισμού σφαλμάτων είναι αργές και μερικές φορές αδιέξοδες.




Ε: Ποια είναι τα μειονεκτήματα του ISE;
A:
Δεν μπορείτε να επιλέξετε να αποθηκεύσετε ή να μετατρέψετε την κωδικοποίηση.
Εσοχή στο [space], [tab] και στα δύο. Σε άλλο λογισμικό επεξεργασίας κειμένου, εμφανίζεται εσοχή.




---------- Κεφάλαιο 8 Πραγματική άσκηση μάχης --------------
Η ομάδα 6504748 και έγραψε αυτό το μέρος μόνη της.

5. Παράδειγμα 1: Ενεργοποιήστε και απενεργοποιήστε την υπηρεσία
6. Παράδειγμα 2: Τείχος προστασίας ελέγχου (Άνοιγμα, Κλείσιμο, Κανόνας)
7. Παράδειγμα 3: Ορίστε μια πολιτική (πολιτική κωδικού πρόσβασης ως παράδειγμα)



---------- Κεφάλαιο 9 Αυτά τα πρόσθετα μαθήματα επιλογής Σας ενδιαφέρει; --------------
Παραδείγματα δέσμης ενεργειών PowerShell, ορισμάτων γραμμής εντολών και μεταβλητών δέσμευσης
http://www.cnblogs.com/piapia/p/5910255.html




Αφήστε το powershell να εκτελεί μόνο ένα σενάριο κάθε φορά (παράδειγμα αμοιβαίας εξαίρεσης διεργασίας)
http://www.cnblogs.com/piapia/p/5647205.html



διεπαφή χαρακτήρων powershell, διεπαφή powershell plus WPF, παιχνίδι 2048
http://www.cnblogs.com/piapia/p/5531945.html


Δύο προγράμματα ανίχνευσης στο PowerShell
http://www.cnblogs.com/piapia/p/5367556.html



Σενάριο PowerShell: Γεννήτρια τυχαίων κωδικών πρόσβασης
http://www.cnblogs.com/piapia/p/5184114.html



Παράδειγμα αναδρομικού αλγορίθμου PowerShell
http://www.cnblogs.com/piapia/archive/2013/01/29/2881011.html



Υπολογιστής φωνής PowerShell
http://www.cnblogs.com/piapia/archive/2012/10/20/2731506.html



1 Καταχωρίστε όλα τα κρυπτογραφημένα αρχεία EFS. 2Αποκρυπτογράφηση όλων των κρυπτογραφημένων αρχείων EFS
http://www.cnblogs.com/piapia/p/4702514.html
Είναι ένα εργαλείο γραμμένο για διαχειριστές συστήματος και διαχειριστές δικτύου.
Αφού ένας υπάλληλος αποχωρήσει από τη δουλειά του, ο δίσκος του υποθέτει ότι υπάρχουν 10.000 αρχεία (κατάλογοι), εκ των οποίων υπάρχουν 3 κατάλογοι αρχείων κρυπτογραφημένοι από το EFS. Στον Explorer, αυτά τα τρία αρχεία είναι πράσινα.
Αν όμως κάνετε κλικ σε (10.000 καταλόγους) έναν προς έναν, είτε είναι πράσινος είτε όχι, θα εξαντληθείτε.
Προς το παρόν, ο διαχειριστής δικτύου χρησιμοποιεί το λογαριασμό WIN του υπαλλήλου, συνδέεται στον υπολογιστή του υπαλλήλου και χρησιμοποιεί αυτό το σενάριο για να παραθέσει όλα τα κρυπτογραφημένα αρχεία EFS.


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



----------Κεφάλαιο 11 Κεφάλαιο Linux--------------

Missionary: Εφόσον μπορείτε να εγκαταστήσετε την έκδοση Linux του PowerShell, χρειάζεστε μόνο σενάρια ps1, όχι σενάρια sh.
Ερμηνεία:
1 Εν ολίγοις, το bash έχει μόνο σύνταξη, χωρίς εντολές και βιβλιοθήκες.
Το 2 bash έχει μόνο 1% συντακτικές συναρτήσεις, το Powershell δεν μπορεί να το εφαρμόσει. Αυτό είναι φυσιολογικό, δεν υπάρχουν δύο φύλλα που να είναι ακριβώς ίδια στον κόσμο.
Αυτό σημαίνει ότι χρειάζεστε μόνο το σενάριο ps1, χωρίς sh.
Το 3 bash είναι πολύ παλιό, η ίδια λειτουργία, το Powershell μπορεί να εφαρμοστεί και μπορεί επίσης να εξοικονομήσει χρόνο, όπως 10,000 κενά για, το Powershell πρέπει να εξοικονομήσει το 90% του χρόνου.
4 Μάθετε να χρησιμοποιείτε το /usr/bin/powershell αντί για το /usr/bin/bash. Άλλες εντολές Linux, αγωγοί, παλιό κουνγκ φου κ.λπ., χρησιμοποιούνται ακριβώς όπως στο bash.
5 Χρησιμοποιήστε σταδιακά αντικειμενοστρεφείς, απλές και ισχυρές εντολές και βιβλιοθήκες PowerShell αντί για εντολές Linux που καίνε τον εγκέφαλο ή και τα δύο. ---Αυτή είναι η γενική αρχή, το γενικό περίγραμμα.


Ε: Ποιες εκδόσεις του Linux μπορούν να εγκαταστήσουν το PowerShell;
A:
◦Ubuntu 14.04 / 16.04
◦CentOS/RHEL 7 και άνω
◦ανοίξτε το SUSE 42 και νεότερη έκδοση
◦Arch Linux (το archl inux δεν έχει αριθμό έκδοσης)
◦Κοντέινερ docker LINUX
◦Κοντέινερ Linux AppImage (φορητή εφαρμογή single binary) https://github.com/probonopd/AppImageKit





Ε: Γιατί λέγεται ότι η γραμμή εντολών του win είναι ισχυρότερη από το linux;
A:
Οι εντολές σε 1 νίκη έχουν εξελιχθεί σε αντικειμενοστραφή PowerShell. Το Linux δεν λειτουργεί ακόμα. Από win7 σε win2012r2, η εξέλιξη τελειώνει.

2 Άκουγα ότι το Unix έχει πολλές εντολές Linux και είναι πολύ ισχυρό. Τώρα όμως σας λέω ότι οι εντολές powershell είναι τουλάχιστον δέκα φορές περισσότερες από τις εντολές linux. Τέλος πάντων, δεν έχω μάθει όλη μου τη ζωή ούτως ή άλλως.

3 Το Linux εξαρτάται περισσότερο από γραφήματα, με πολύ λίγες εντολές. Και η εντολή win είναι πολύ περισσότερο από το linux.
3.1 Σε οποιοδήποτε linux, οι εντολές στον διακομιστή αλληλογραφίας είναι όλο και πιο ολοκληρωμένες από το exchange; Πιο βολικό από την ανταλλαγή;
3.2 Η σύνδεση διακομιστή DNS του Linux δεν είναι τόσο βολική όσο η εντολή DNS του win. Έχει το bind [εντολή] για την προσθήκη εγγραφής ipv4 A σε ένα όνομα τομέα; Δεν εξαρτάστε ακόμη από τα γραφικά ιστού;
Μερικοί άνθρωποι λένε να χρησιμοποιήσετε το nsupdate. Αυτό δεν έχει να κάνει με τη δημιουργία ενός κειμένου και μετά την εκτέλεση του κειμένου. Ποια είναι η διαφορά μεταξύ της αντικατάστασης του [αρχείου ζώνης DNS] με sed και στη συνέχεια της επαναφόρτωσης της [ζώνης dns];

4 Στη νέα έκδοση του win, ή στο powershell, είναι όλα [command + parameter]. Και το μεγαλύτερο μέρος του Linux εξακολουθεί να είναι [sed text].
4.1 Πάρτε για παράδειγμα τη διεύθυνση IP που έχει εκχωρηθεί στην κάρτα δικτύου.
Σύνδεση NMCLI Προσθήκη τύπου Ethernet Con-Name NEW_STATIC IFNAME ENO1234567 IP4 192.168.1.111 GW4 192.168.1.1,
Δεν είναι πιο βολικό από τη χρήση του sed για την απόξεση του αρχείου ifcfg-eth0;

5 Οποιαδήποτε γλώσσα επεξεργάζεται δεδομένα, όπως και η δέσμη ενεργειών. Με τη βοήθεια αντικειμένων, το PowerShell είναι πιο βολικό από το awk. Shenma csv, excel, xml, json
Πίνακας SQL, πίνακας NOSQL. html κ.λπ.




Ε: Πώς υλοποιεί το PowerShell το όνομα αρχείου [sed -i "s/what to look/replace with /g"];
A:
@(Get-Content filename) -αντικαταστήστε το 'aaa','bbb' | Όνομα αρχείου Set-Content $aaa
Δηλαδή, ανοίξτε το αρχείο, αντικαταστήστε το, αποθηκεύστε το αρχείο.



Ε: Γιατί όλο και λιγότεροι άνθρωποι χρησιμοποιούν SED στο Linux;
A:
Επιχείρημα 1: Το AWK μπορεί να αντικαταστήσει το SED, αλλά το SED δεν μπορεί να αντικαταστήσει το AWK.
sed, δηλαδή απλά βρείτε την αντικατάσταση. Η awk έχει για και τα παρόμοια για την εφαρμογή πολύπλοκης επεξεργασίας.

Επιχείρημα 2: Το AWK χρησιμοποιεί το τυπικό κανονικό και το κανονικό του sed είναι το ίδιο με αυτό του sed, αλλά τα μέρη είναι διαφορετικά.
Η εκμάθηση SED σημαίνει ότι δύο σύνολα ασύμβατων κανονικών προτύπων στον εγκέφαλο μάχονται μεταξύ τους.



Ε: Άρα είναι σωστό να μάθεις AWK;
A:
Η εκμάθηση του PowerShell είναι ευκολότερη από την εκμάθηση του AWK.
Το PowerShell χρησιμοποιεί [split and then split], [if and if], where-object, string.substing(), string[-3] κ.λπ.
Αναλύστε το πρόβλημα της συμβολοσειράς στρώμα προς στρώμα. Πιο απλό από το awk regular.




Ε: Μπορούν να χρησιμοποιηθούν αγωγοί και AWK στο PowerShell;
A:
Μπορείτε να καλέσετε awk στο PowerShell, ακριβώς το ίδιο όπως στο Bash. Οι παλιές πολεμικές τέχνες είναι εντελώς Τορίνο.



Ε: Πώς να υλοποιήσετε τη συνάρτηση [awk '{print $3}'] στο PowerShell;
A:
($line -split "\s+|\t+") [0] #第一行
($line -split "\s+|\t+") [2] #第三行       

Λήψη περιεχομένου /xxx/yyy.txt | foreach-object {$_.split()[2]} #awk '{print $3}'


Ε: Πώς να υλοποιήσετε τη συνάρτηση [awk -f a.awk file] χρησιμοποιώντας το PowerShell;
A:
Ουσιαστικά, αυτή είναι μια λειτουργία φιλτραρίσματος που χρησιμοποιεί έναν σωλήνα. Στο PowerShell, αυτό ονομάζεται φίλτρο ή φίλτρο.
Το PowerShell υποστηρίζει τον συνδυασμό εντολής + σωλήνα + φίλτρου. Όπως στην εντολή 1 | Φίλτρο 1 | Εντολή 2 | Φίλτρο 2 | Φίλτρο 3
φίλτρο φίλτρου1
{
Λειτουργικότητα παρόμοια με την AWK
}





Ε: Υπάρχει [xargs] στο PowerShell;
A:
Η μεταβλητή σωλήνα που χρησιμοποιείται στον αγωγό ονομάζεται [$psitem] και το ψευδώνυμό της είναι [$_].
Το PowerShell χρησιμοποιεί foreach-object και $_ για να υλοποιήσει τη συνάρτηση των xargs.





Ε: Υπάρχει αριθμός [<] [<<] στο PowerShell;
A:
Όχι.
Ίσως το σύμβολο [<] από δεξιά προς τα αριστερά να είναι η αντιανθρώπινη σκέψη. Πολλές εντολές στο PowerShell έχουν αλλάξει από αριστερά προς τα δεξιά.
Εάν το get-random < (1..100) δεν είναι νόμιμο στο PowerShell, το νόμιμο θα πρέπει να είναι get-random -inputobject (1..100) ή 1. 100 |get-random
Λιγότερο από το 1% των περίεργων εντολών [πρέπει] να βασίζονται στο σύμβολο [<], το οποίο μπορεί να επιτευχθεί καλώντας cmd στο PowerShell ή bash (PowerShell για Linux) στο PowerShell.
Για παράδειγμα, $a = bash -x "εντολή 1 < εντολή 2" #linux
Για παράδειγμα, $a = cmd -c "εντολή 1 < εντολή 2" #cmd




Ε: Υπάρχει εντολή expect στο PowerShell; Πώς να συνδεθείτε σε έναν διακομιστή Linux SSH από το Win με το PowerShell;
A:
1. Ναι. Για ορισμένες περίεργες και μερικές ανάγκες απόκρισης πόρτας, υπάρχουν μονάδες τρίτων κατασκευαστών.
2 Όχι. Το PowerShell δεν χρησιμοποιεί την εντολή expect, αλλά χρησιμοποιεί μια περίοδο λειτουργίας.

Χρησιμοποιήστε το Powershell + βιβλιοθήκη προγράμματος-πελάτη SSH + IP + θύρα + όνομα χρήστη + κωδικό πρόσβασης για να συνδυάσετε σε μια σύνδεση και να στείλετε εντολές σε αυτήν τη σύνδεση. Ο κωδικός έχει ως εξής:
$connection 1 = New-SSHSession -Όνομα_υπολογιστή 1.1.1.1 -Θύρα 22 -Διαπιστευτήρια aaaa #将提示输入密码
$to return = Invoke-SSHCommand -Command {cat /etc/issue} -SSHSession $Connection 1

Αυτή η τυπική λειτουργικότητα όπως (MongoDB, mysql, ssh, ftp, http, telnet, κ.λπ.) έχει προγράμματα οδήγησης ή λειτουργικές μονάδες. Υ.Γ. και. .netprogram, μέσω της σύνδεσης του προγράμματος οδήγησης, αποστολή εντολών και αποδοχή δεδομένων.
Τα οφέλη από τη χρήση λειτουργικών μονάδων ή προγραμμάτων οδήγησης για την αποστολή και λήψη [δεδομένων] είναι:
Τα δεδομένα θα μετατραπούν σε αντικείμενο .net, το οποίο με τη σειρά του θα μετατραπεί σε αντικείμενο PS. Διαφορετικά, είναι όλα έγχορδα και οι [αντικειμενοστρεφείς πολεμικές τέχνες] της αίρεσης PS είναι όλες άχρηστες.


Λαμβάνοντας ως παράδειγμα το MongoDB, ποια είναι τα πλεονεκτήματα της χρήσης λειτουργικών μονάδων ή προγραμμάτων οδήγησης για την αποστολή εντολών; Ποιος μιλάει;
Πιστεύω ότι τα οφέλη είναι:
1 Πολλαπλή κλωστή. Το νήμα φόντου εκτελείται και δεν καταλαμβάνει το τρέχον νήμα.
2. Μπορούμε να [αποσυνδεθούμε στα μισά του δρόμου] από τη συνεδρία ανά πάσα στιγμή, να εκτελέσουμε άλλο κώδικα PS, λειτουργίες και [να επιστρέψουμε στη συνεδρία ανά πάσα στιγμή]. Τα σενάρια είναι πιο ευέλικτα στη σύνταξη και εύκολο στον εντοπισμό σφαλμάτων.
Το 3session φέρνει πολλούς χρήστες και διαφορετικοί χρήστες μπορούν να έχουν διαφορετικά δικαιώματα διακομιστή.




Ε: Υπάρχει η εντολή su, runas στο powershell; Πώς να εκτελέσετε την εντολή άλλου χρήστη με το PowerShell;
A:
Όχι.
Στο PowerShell, η εκτέλεση εγγενών εντολών και αγωγών Linux είναι εύκολη. Για παράδειγμα:
ΣΣaaa@127.0.0.1"Εκτελείται με δικαιώματα χρήστη AAA, εντολή xxx"  
sshpass -p user_password sshaaa@192.168.1.1



Ε: Δύο μηχανές Linux με SSHD; Πώς να συνδέσετε και να στείλετε εντολές με το powershell;
A:
Εκτός από την παραπάνω μέθοδο, μπορείτε επίσης να χρησιμοποιήσετε τη μέθοδο δημιουργίας μιας νέας συνεδρίας Linux. (Συνδεδεμένο από linux σε άλλο SSHD)
Σημείωση: Αυτή η μέθοδος απαιτεί επεξεργασία του αρχείου /etc/ssh/sshd_config. Προσθέστε την ακόλουθη γραμμή
Υποσύστημα powershell powershell -sshs -NoLogo -NoProfile
Μετά από αυτό, επανεκκινήστε τον διακομιστή SSHD.
Το αναλυτικό εγχειρίδιο είναι εδώ:
https://github.com/PowerShell/PowerShell/tree/master/demos/SSHRemoting

Εντολή:
$connect 2 = New-PSSession -HostName 127.0.0.1 -UserName user006 #手动输入密码或用-KeyFilePath επιλογή
invoke-command -session $connect 2 -scrip{filter}tBlock {new-item ~/ccc.txt}


Περίληψη:
Win client, συνδεδεμένο με διακομιστή Linux. Επί του παρόντος, απαιτούνται λειτουργικές μονάδες τρίτων, φυσικά, αυτή είναι μια ενότητα στην επίσημη βιβλιοθήκη, απλώς χρησιμοποιήστε τη μονάδα εγκατάστασης PoshSSH.
Πελάτης Linux, συνδεδεμένος με διακομιστή Linux. Πρέπει να επεξεργαστείτε το αρχείο /etc/ssh/sshd_config.
Πελάτης Linux, συνδεδεμένος με διακομιστή Win. Πρέπει να ενεργοποιήσετε την υπηρεσία στον διακομιστή. Εμπιστευτείτε τον διακομιστή στον υπολογιστή-πελάτη.
Win client, συνδεδεμένο με τον διακομιστή Win. Πρέπει να ενεργοποιήσετε την υπηρεσία στον διακομιστή. Εμπιστευτείτε τον διακομιστή στον υπολογιστή-πελάτη.


Ε: Υπάρχει [grep] στο PowerShell;
A:
Η εντολή select-string χρησιμοποιείται στο powershell.
Από άποψη κωδικοποίησης και μόνο, select-string=smart, grep=stupid + έχουν ένα σκληρό ελάττωμα :mrgreen:
Όταν υπάρχει κεφαλίδα BOM, το select-string αναγνωρίζει αυτόματα τον τύπο κωδικοποίησης αρχείου.
Όταν δεν υπάρχει κεφαλίδα BOM, δεν χρειάζεται να αλλάξετε το περιβάλλον του κελύφους όπως linux+grep και δεν χρειάζεται να αποθηκεύσετε αρχεία σύμφωνα με έναν συγκεκριμένο κωδικό. Χρειάζεται μόνο να καθορίσετε την παράμετρο -κωδικοποίηση σύμφωνα με την κωδικοποίηση του αρχείου.
Και το grep δεν έχει αυτή τη λειτουργία, δηλαδή υπάρχει ένα σκληρό ελάττωμα του [δεν είναι δυνατός ο καθορισμός του τύπου κωδικοποίησης αρχείου].
Φυσικά, το grep δεν είναι άχρηστο, το grep έχει κάποιες παραμέτρους, έχει πρόσθετες μοναδικές συναρτήσεις, το select-string όχι, εδώ είναι που το grep είναι ισχυρότερο από το select-string.



Ε: Υπάρχει [eval] στο PowerShell;
A:
Χρησιμοποιήστε το Invoke-Expression για να εκτελέσετε συμβολοσειρές στο powershell.



Ε: Υπάρχει ουρά -f στο PowerShell; Είναι δυνατή η έξοδος των νέων γραμμών ενός αρχείου σε πραγματικό χρόνο.
A:
get-content d:\a.txt -tail 10 -readcount 0 -wait



Ε: Θέλω να χρησιμοποιήσω ένα μικρό πληκτρολόγιο και θέλω επίσης ένα τερματικό 256 χρωμάτων, οπότε πώς πρέπει να ρυθμιστεί το xshell;
A:
Τερματικό --- Τύπος τερματικού --- [putty-256color] ή [export TERM=putty-256color]
Το Terminal --- Keyboard --- προεπιλογή ή Linux.

Το Eterm-256color μπορεί
Το gnome-256color δεν λειτουργεί
Το KONSOLE-256COLOR ΔΕΝ λειτουργεί
στόκος-256χρώμα
PowerShell Missionary Αρχική Μετοχή 2017-02-15
Το RXVT-256COLOR δεν λειτουργεί
Το screen-256color δεν λειτουργεί
ST-256ΧΡΩΜΑ
Το VTE-256COLOR δεν λειτουργεί
Το XTERM-256Color δεν λειτουργεί
Η ίδια αρχή ισχύει και για το SecureCRT




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


Ε: Γιατί η έκδοση Linux του PowerShell είναι πιο κατάλληλη για το προσωπικό λειτουργίας και συντήρησης να γράφει σενάρια; (Σε σύγκριση με την έκδοση Linux της Python)
A:
1 Η Python έχει αντικειμενοστρεφείς λειτουργίες και η έκδοση Linux του PowerShell είναι διαθέσιμη.

2 Η Python δεν έχει γραμμή εντολών.
2.1 Η Python δεν μπορεί να είναι το προεπιλεγμένο τερματικό για SSH, αλλά το PowerShell για Linux μπορεί. Δείτε το κεφάλαιο: "Δύο μηχανές Linux με SSHD; Πώς να συνδέσετε και να στείλετε εντολές με το powershell; 》
2.2 Η χρήση εντολών φλοιού (awk, grep, κ.λπ.) στην python είναι πολύ δυσκίνητη. Πρέπει να προσθέσετε πολλή σύνταξη και κώδικα py. Το PowerShell για Linux εκτελεί τις εντολές awk ακριβώς όπως το bash.

3 Η Python δεν έχει σωλήνες. Είναι πολύ ενοχλητικό να περνάτε τιμές μεταξύ n [προγράμματα γραμμής εντολών]. Πρέπει να προσθέσετε πολλή σύνταξη και κώδικα py. Η έκδοση Linux του PowerShell έχει αγωγούς και η εκτέλεση εντολών awk είναι ίδια με το bash.

4 Η Python έχει την έκδοση 2, η έκδοση 3 δεν είναι συμβατή με τον καρκίνο! ερώτηση. Το PowerShell για Linux δεν έχει τέτοιο πρόβλημα.
4.1 Αυτές οι ερωτήσεις περιέχουν προβλήματα κωδικοποίησης.

Συμπέρασμα:
Οι εντολές φλοιού όπως το grep δεν είναι καλές για υποστήριξη κωδικοποίησης, όχι τόσο καλές όσο τα προβλήματα κωδικοποίησης του 4.1 παραπάνω στο PowerShell στο σπίτι. Συν τους παραπάνω 2,3 βαθμούς.
Κάνει τους ανθρώπους του Linux να αισθάνονται άβολα, αλλά πολύ λίγοι άνθρωποι χρησιμοποιούν εξωτερικές εντολές στο py. Το [py command library] και το [shell command] είναι νεκρά και βασικά δεν μπορούν να αλληλοσυμπληρώνονται. Η έκδοση Linux του PS είναι διαφορετική.




Ερ: Γιατί λέγεται ότι το powershell είναι καλύτερο από το κέλυφος;
A:
1 Το PowerShell είναι αντικειμενοστραφή και οι ιδιότητες επιστρέφουν άμεσα διαθέσιμα δεδομένα. Αυτό είναι πολύ λιγότερο συνηθισμένο από ό,τι στις γλώσσες δέσμης ενεργειών χαρακτήρων (bat, shell) που απαιτούν αφαιρέσεις συμβολοσειρών.
Γεννημένος με λιγότερα [περιεχόμενο που πρέπει να ξεφύγει].
2 Αντικατάσταση αναζήτησης συμβολοσειράς, υπάρχουν μέθοδοι στο PowerShell που δεν απαιτούν διαφυγή, στην κλάση .NET. Για παράδειγμα:
[συμβολοσειρά]$a = 'abc\\def'
$b = $a.replace('\\','when')
#返回: [ABC ως def]
Για να προσδιορίσετε εάν μια IP είναι νόμιμη, μπορείτε να χρησιμοποιήσετε τη μέθοδο TryParse() στην κλάση IPAddress.
Εν ολίγοις, η πρότασή μου είναι να χρησιμοποιήσετε όσο το δυνατόν περισσότερες μεθόδους .net, να χρησιμοποιήσετε όσο το δυνατόν λιγότερο regex ή απλώς να χρησιμοποιήσετε απλά κανονικά.
3 Το PowerShell χρησιμοποιεί το ['] ως σύμβολο διαφυγής. Το ['] χρησιμοποιείται λιγότερο συχνά από το [\] και χρησιμοποιείται πολύ λιγότερο ως σύμβολο διαφυγής.
3.1 Κατά τη σύνταξη σεναρίων βάσης δεδομένων, υπάρχουν περισσότερες διενέξεις του ['].
Για παράδειγμα, το ['table'] θα έρχεται σε διένεξη με το ['t], όπως το ['biao'] θα έρχεται σε διένεξη με το ['b] και αργότερα το έλυσα με το ['table'].
Αναζήτηση και αντικατάσταση συμβολοσειρών 4 ps, έχει κανονική μηχανή, είναι συμβατή με Linux και χρησιμοποιεί επίσης το [\] ως διαφυγή.
Ωστόσο, υπάρχει μια ειδική συνάρτηση διαφυγής συμβολοσειράς [[Regex]::Escape()], η οποία διαφεύγει πρώτα και μετά βρίσκεται και αντικαθίσταται και ο κώδικας είναι εξαιρετικά ευανάγνωστος.
$Original συμβολοσειρά πριν από τη διαφυγή = '\+\&*|]'
$escaped string = [regex]::escape($original συμβολοσειρά πριν από τη διαφυγή)
-------------
Παραδείγματα σεναρίων
[συμβολοσειρά]$a = 'abc\\def'
$Original συμβολοσειρά πριν από τη διαφυγή = '\'
$Escaped συμβολοσειρά = [regex]::escape($Original συμβολοσειρά πριν από τη διαφυγή) #[\]--->[\\]
$b = [regex]::replace($a,$Escaped συμβολοσειρά, 'when')
$b #返回 [ABC Dangdang DEF]
-------------
5 bash και awk, το καθένα έχει το δικό του για, το καθένα έχει τη δική του διαφυγή. Σε συνδυασμό, είναι εύκολο για τον Α να επηρεάσει τον Β και ο Α να καταπιεί τον Β.
Είναι επίσης εύκολο να αντιμετωπίσετε προβλήματα όταν αντιμετωπίζετε ['], ["], [\] και [*].
Είναι σαν να φοράς δύο στρώσεις μακρύ παντελόνι, τραβάς το ένα στρώμα και το άλλο στρώμα κινείται επίσης, πρέπει να ανησυχείς για τη συμβατότητά τους.
Αυτό είναι καρκίνος και δύσκολο να λυθεί.
Αλλά τσίμπημα, αυτό το πρόβλημα μπορεί επίσης να αποφευχθεί σε κάποιο βαθμό. Αυτό απαιτεί από το άτομο που έγραψε το κέλυφος να διορθώσει το βρωμερό πρόβλημα.
[Βάλτε τον κωδικό awk στο αρχείο .awk ξεχωριστά, όχι στη γραμμή εντολών]
Το PowerShell δεν έχει αυτό το πρόβλημα, βάλτε το στη γραμμή εντολών, βάλτε το στο σενάριο, δεν έχει κανένα αποτέλεσμα.








Προηγούμενος:Το .net/C# χρησιμοποιεί χαρακτηριστικά για την υλοποίηση απλών AOP
Επόμενος:.net/c# Speedy IP Open Port Scanner v2.0 Ultimate Έκδοση
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com