Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 11695|Odpowiedź: 1

PowerShell Getting Started, Tutorial - wersja v0.3

[Skopiuj link]
Opublikowano 19.04.2017 16:48:30 | | |


---------- Rozdział 1 Historia skryptów Windows --------------


1 Pierwsza generacja nietoperzy script. Zaczęło się od win95, win98--------- a skończyło około 2008 roku. Funkcje: Polecenia zorientowane na znaki, z linią poleceń i pipeline'em.
2 Druga generacja skryptów VBS. Funkcje: Tylko funkcje, wartości przekazywania, wywołania.
3 Trzecia generacja skryptów PowerShell. Od 2012 roku komenda w pełni ewoluowała do kierunku obiektowego. Na przykład tasklist i get-process to powtarzające się funkcje koła: obiektowe. Dziedzicząc zalety dwóch poprzednich generacji pism.



P: Dlaczego warto uczyć się PowerShell?
A:
Misjonarz odpowiedział, że będzie studiował przez rok i pięć lat, by BAT. Prosta składnia i silne funkcje biblioteczne!
Jedyny na świecie, który obsługuje obiekty z poleceniami po obu stronach potoku. czyli polecenie obiektowe 1 | Polecenie obiektowe 2

Windows i Linux różnią się od innych:
W skrypcie PowerShell na Win,
Wspieraj CR, LF, CRLF wejdź. Wspierać wielowątkość i współbieżność wieloprocesową.
Łatwo jest wstawić [dźwięk Text2], "Raport kapitanie, dysk jest pełny".
Osadzenie graficznego interfejsu jest proste. (Gdy interfejs wyskakujący prosi o wpisanie nazwy użytkownika, hasła, pojedynczego wyboru, wielokrotnego wyboru itd.) To są zazdrości o skrypty Linuksa.

PowerShell różni się od Pythona:
Łatwo jest używać chińskiego w PowerShell. Chińska nazwa pisma, nazwa zmiennej, komentarz. Chińskie pojedyncze cudzysłowy, chińskie podwójne cudzysłowy.
Automatycznie rozpoznaje kodowanie GBK, UTF8, Unicode. obiekty wspierające pipeline, których zazdroszczą skrypty Pythona.



Prosty przykład składni 1: Magia cudzysłowów powershell w pojedynczym i podwójnym cudzysłowie.
Pojedyncze cudzysłowy można cytować z podwójnymi cudzysłowami. I odwrotnie.
Pojedynczy i podwójny cudzysłów można @引用 @''.
BAT nie zadziałał.


Missionary Narrator:
Włożyłem dużo uwagi w projekt tutoriala. Czy nie czytałeś, że część historyczna tego, co napisałem, była bardzo [prosta i surowa]? Historię niesie jeden ruch.
Ale skoro już to powiedziałem, to nie bzdura, chcę tylko, żeby studenci jasno pokazali, że od win7-win 2008 [uprzedmiotowienie] skryptów stało się popularne. Prowadzi to do kolejnego rozdziału wyjaśnień obiektowych.
Każdy wprowadzający tutorial PS powinien wspominać o różnicy między postaciami a obiektowymi. Po prostu warto wtrącić ten temat w historię linii poleceń.

---------- Rozdział 2 Cudowny -------------- obiektowości
Czym jest obiekt, dlaczego jest zorientowany na obiekty i dlaczego Microsoft wzmacnia koło?

Przykład obiektowy 1:
Pytanie: jem 2,2 jabłka dziennie, ile jabłek jem w ciągu 17 dni?
A:
Dostępne są 2,2 x 17. Możliwe jest także użycie i++ obsługiwanego przez dowolny język skryptowy.
dla ($i = 1; $i -lt 18; $i++)
{
        $Apple = 2,2 + $Apple
        write-host $i,$Apple
}

--------------------------------------------
Jak tylko pytanie się zmieni, nie powiem ci liczby dni, tylko powiem,
Jem 2,2 jabłka dziennie, ile jabłek zjem od 20 stycznia do 20 czerwca 2017?
$days = ((data dostawy '2017-06-20') - (data dostawy '2017-01-20')). Dni #值151


Jem 2,2 jabłka dziennie, ile jabłek zjem od 20 stycznia do 20 czerwca 2020?
$days = (data rozpoczęcia '2020-06-20') - (data rozpoczęcia '2020-01-20')). Dni #值152

dla ($i=(data startu '2020-01-20'); $i -lt (data uzyskiwania '2020-06-20'); $i=$i.adddays(1))
{
        $Apple = 2,2 + $Apple
        write-host $i,$Apple
}

Wniosek: Przy dokumencie daty liczenie dni, godzin itd. jest proste. [for,,i++] jest powszechne, ale nigdy nie pomyślałem, że liczba i może być typem daty.

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



Jakie są zalety obiektów?
Przed zorientowaniem obiektowym mieliśmy tylko ciągi i liczby całkowite.
1 Jest obiekt.
----- [Typ postaci]-----
Glif ma system.string, który jest najbardziej podstawowy.
Pamięć System.Text.StringBuilder, często zmieniająca się, duże ciągi znaków

----- [Typ numeryczny]-----
system.int32, system.int64, system.decimal, system.double, System.Numerics.BigInteger infinite integer.
Najczęściej używane jest int32, dziesiętne.

To, czy 1/3*3 jest równe 1 czy 0,9999, zależy od typu danych.
----- [Array]-----
system.array array
System.arrayList często się zmienia, na przykład ciągłe przepisywanie, dodawanie lub usuwanie – musisz tego używać. Prędkość jest stosunkowo szybka.
System.Collections.Generic.HashSet deduplikują tablice. Tak samo jak Set object w pythonie.

-----【Form】-----
1 wyjście polecenia. Na przykład, dir, get-process.
2. Podczas pisania skryptów używamy obiektów i atrybutów do konstrukcji.

----- [Inni] -----
Tabele skrótu, pliki itd.



2 ma atrybuty. Atrybuty są argumentami i są mniejsze niż ciągi znaków. Zanim nie pojawią się atrybuty, musimy filtrować i filtrować ciągi za pomocą [regularnej do mózgu], zwanej [ciąg dedukcji]. Jeśli masz atrybuty, nie potrzebujesz ich.
3 Jest sposób. Metodą jest program, kod. Nie musisz przepisywać tego sam. Nietoperz zdecydowanie nie jest dobry, nie ma szans, jest też osobiste pisanie, niewiarygodne, nie odważ się go używać.
Metody mogą być samodzielnie pisanymi funkcjami ps, a samodzielnie pisanymi metodami w klasach ps.
Metodę, którą piszesz samodzielnie, można tymczasowo [połączyć] z klasą firm trzecich.
Metodę, którą sam piszesz, można tymczasowo [scalić] z klasą .net.

Jakie są wady obiektów?
Kaznodzieja uczy PowerShell osobom korzystającym z Winxp. Osoba powiedziała, że PowerShell nie jest dobry, obiekt jest zbyt wymagający pamięci i ma rację.
W cmd zwracam 100 nazw plików (ciągów znaków) z dir. W PowerShell używam dir, aby zwrócić 100 obiektów plików, a Powershell zajmuje dużo pamięci.
Ale teraz jest inaczej:
1. Niepotrzebne treści nie powinny występować w zmiennych. Albo zniszczyć ją natychmiast po użyciu, aby zmniejszyć zużycie plików.
2. Spadek pamięci wystarczy. Ponieważ wydajność CPU nie może już rosnąć, gorączkowo zwiększamy pamięć, próbując wymienić przestrzeń na czas.
3. Chcemy bardziej zaawansowanych funkcji, a orientacja obiektowa jest dziś najbardziej podstawowa. Który nie jest obiektowy, czy py, php, java, .net, c++?

Streszczenie:
1 Obiekty są większe i bardziej wymagające pamięci niż ciągi znaków.
2. Istnieje więcej metod orientacji obiektowej i silniejszych funkcji.
3 atrybuty są mniejsze niż granularność ciągów tekstowych, co jest niezwykle wygodne w użyciu. Uniknęłam [szalonego użycia mózgowo palącej regularnej do filtrowania] smyczków!


=== Szalone użycie regularnych do filtrowania przykładów, wersja domyślnej bramki ping ===
@echo off&setlocal umożliwia opóźnioną ekspansję
Echo szuka domyślnej bramy...

for /f "usebackq delims=" %%i in ('ipconfig /all') do (
echo %%i|find /i "gateway">nul|| echo %%i|find "default gateway" >nul
jeśli "!errorlevel!" =="0" (
dla /f "tokeny=2 delims=:" %%a in ("%%i") do dla /f "delims= " %%m in ("%%a") do zestaw ipgate=%%m
)
)

Domyślna brama echo to: !ipgate!
=========== pingować domyślną bramę.ps1============
$default gateway = (get-netroute -DestinationPrefix 0.0.0.0/0). NextHop
& ping.exe $ Domyślna brama

# test-połączenie $ brama domyślna
=======================






P: Nawet jeśli obiekty są tak dobre, skąd pochodzą te obiekty?
O: Z biblioteki .net.


---------- Rozdział 3 Wprowadzenie do .NET --------------


P: Ile gałęzi wersji ma .NET Core?
A:
Obecnie istnieją trzy wersje.
.NET 2.0 Najnowsza wersja .NET 3.51
.NET 4.0 Najnowsza wersja .NET 4.70
.NET Core 1.x Najnowsza wersja .NET 1.2 dla systemów Apple, Linux oraz systemów wbudowanych.
.NET Core 2.x Najnowsza wersja .NET 2.0 dla systemów Apple, Linux oraz systemów wbudowanych.



P: Ile funkcyjnych gałęzi posiada .net?
A:
Pulpit branch w .NET. WinForm. Do tworzenia komputerów desktopowych.
Biblioteka dźwięków
asp.net w .NET i .NET Core. Biblioteka funkcji serwera WWW. Używałem do otwierania serwera WWW typu B/S.
F# w .NET i .NET Core. Zawiera biblioteki matematyczne, funkcje trygonometryczne itd.
PowerShell w .NET i .NET Core. Zawiera popularne interfejsy zarządzania systemem, takie jak pliki skryptowe.
Linux
◦Ubuntu 14.04 \ 16.04
◦CentOS/RHEL 7 i wyższe
◦otwarty SUSE 42 i wyższe
◦Arch Linux (archl inux nie ma numeru wersji)
◦LINUX docker container
◦Linux AppImage container (portable application single binary) https://github.com/probonopd/AppImageKit



MAC OS X
◦OS X 10.11


P: Jak program .NET (program C#) łączy się z serwerem MySQL?
A:
Wejdź na oficjalną stronę mysql, aby pobrać konektor dla języka .NET.
mysql-connector-net-6.9.9-noinstall.zip--->v4.5--->MySql.Data.dll
Dodaj klasę MySql.Data do .net i dodaj interfejs bazy danych.



Podsumowanie:
Na maszynie WinXP najpierw zainstalowała .net 3.51, win7 i win2008, najpierw instalowała .net 4.62 lub nowszą.

.NET istnieje od wielu lat i niewiele jest oprogramowania obsługującego .net tak jak Java. Wszystkie gałęzie .net, interfejsy (bazy danych, WeChat itd.). )
Te DLL, te biblioteki, powershell można nazwać. Jest dokładnie taki sam jak exe zapisany w C#.


P: Oprócz interfejsu gałęzi .NET, czym są własne biblioteki (moduły) PowerShell?
A:
Proszę zobaczyć następny rozdział

---------- Rozdział 4 Powszechnie używane biblioteki wbudowane, biblioteki zewnętrzne oraz biblioteki firm trzecich w PowerShell --------------

Pomoc misjonarza:
Ten rozdział nie może być omawiany, jest jedynie listą bibliotek i podręczników. Dodaj ten rozdział do zakładek. Po przejrzeniu tych bibliotek będziesz wiedzieć, co PowerShell potrafi.



Ręczny adres Win2012: (najczęściej używany moduł reklamowy)
https://technet.microsoft.com/zh-cn/library/dn249523(v=wps.630).aspx
Zarządzanie grupą użytkowników AD, DHCP, DNS, drukarka, udostępnianie plików, IIS, dysk, karta sieciowa,



exchange2016
https://technet.microsoft.com/zh-cn/library/bb124413.aspx
Active Directory 12         
Antyspam i antymalware 59  
Dostęp klienta 100
Agent Rozszerzenia 4
Adresy e-mail i książki adresowe 37
Konfiguracja federacyjna i hybrydowa  
Wysoka dostępność  
Przepływ poczty  
Skrzynka pocztowa  
Baza danych skrzynek pocztowych  
Serwer skrzynki pocztowej  
Przeprowadzka i migracja  
Organizacja  
Uprawnienia  
Polityka i zgodność  
Bezpieczeństwo  
Stan serwera, monitorowanie i wydajność  
Dziel się i współpracuj  
Zunifikowany przekaz  
Użytkownicy i grupy  



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 oraz maszyny wirtualne klasy korporacyjnej.


Klienci:
Usługi, procesy, logi, rejestry, katalogi plików, zdalne zarządzanie. Zadania na czas.



Internet:
FTP, poczta, wtyczka klienta SSH do połączenia z serwerem Linux.


Tekst:
XML, HTML, CVS, JSON, EXCEL itd.


Tekst 2 głos


Interfejs graficzny.


Microsoft Scripting Center
https://gallery.technet.microsoft.com/scrip{过滤}tcenter/


Oficjalna strona oprogramowania PowerShell --- oficjalna biblioteka PowerShell.
https://www.powershellgallery.com


Pozostałe biblioteki Niu x są wszystkie na githubie. Ponadto misjonarze regularnie publikują [Niu x Magic Weapon] z [Hidden Foot Pavilion], który jest przydatną biblioteką PowerShell od firm trzecich.


---------- Rozdział 5 Początkujący muszą nauczyć się wspomagać używanie komend--------------


P: Skąd znam wersję PowerShell?
A:
$PSVersionTable



P: Nie znam modułu, jak go znaleźć?
A:
get-module -ListAvailable


P: Jak znaleźć komendy, skoro znam tylko część z nich?
A:
get-command *usługa*



P: Znam polecenie, ale nie wiem, jakie parametry są w poleceniu, jak je wypisać?
A:
get-help write-host -Parametr *
show-command-write-host


P: Znam ten parametr, ale nie wiem, które polecenie ma ten parametr, jak znaleźć to polecenie?
A:
get-command -ParameterName kodowanie



P: Jak uzyskać pomoc przy komendzie z linii poleceń?
A:
Uzyskaj pomoc, randka

-Przykłady poleceń
-Podręcznik online online




P: Nie znam metody atrybutów polecenia (nie znam obiektu), jak go znaleźć?
A:
"abc" | get-member
datka | get-member



P: Gdzie jest chiński podręcznik .NET?
A:
msdn。 Najbardziej podstawowe właściwości i metody stringów znajdują się w instrukcji.
https://msdn.microsoft.com/zh-cn/library/system.string.aspx



---------- Rozdział 6: Wprowadzenie do Powszechnych Poleceń --------------

Pierwszym poleceniem do nauki jest dir
P: Dlaczego używam powershell dir [czyli Get-ChildItem] zamiast cmd dir?
A:
Zorientowany na obiekt, silna metoda i wiele cech.
$file = dir a:\pscode\temp183\aaa.txt
$file. Pełne imię i nazwisko #返回全路径属性
$file. BaseName #返回文件名属性
$file. Przedłużenie #返回扩展名属性
$file. LastWriteTime #返回最后写入时间属性



Pierwszą składnią do nauki jest składnia tablic. $a = @(xxx komenda)
P: Czasami trzeba użyć [zewnętrznych poleceń opartych na znakach], aby podzielić wartości zwrotne na tablice według jednostek zachowań.
A:
$a = @(ipconfig)
$a[8] #第9行


Użycie get-childItem:
Dodano parametry w PowerShell 3.0 i wyższych

get-childitem d:\xxx -file #过滤, tylko pliki wyjściowe
-Filtrowanie katalogów, tylko katalogi wyjściowe
-Filtrowanie ukryte, tylko wyjście ukryte


P: Otwórz plik, segmentuj po zachowaniu, umieść w tablicy?
A:
$a = Get-Content a:\pscode\temp183\aaa.txt -ReadCount 0



P: Otwórz plik jako duży ciąg i przechowuj całą zmienną?
A:
$a = Get-Content a:\pscode\temp183\aaa.txt -raw


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


P: Jak uruchamiać polecenia w tle?
A:
W starożytności istniało "rozkaz" cmd /c.
Teraz jest powershell /c "komenda" lub powershell -c "komenda",
PowerShell -plik "script.ps1" -argument 1 aaaa -parameter 2 1234
start-process -path xxx.exe -ArgumentList '-parametr1 aaaa -parametr2 1234'


P: Chcę uruchomić skrypt z innym lokalnym użytkownikiem, ale PowerShell nie ma run. Podobne polecenia w exe?
A:
W PowerShell jest wiele sesji.
IP + port + nazwa użytkownika + hasło = sesja, wystarczy zmienić nazwę użytkownika, hasło i możesz zmienić uprawnienia. Ponieważ uprawnienia są powiązane z użytkownikiem.
Podobnie, muszę utworzyć tylko n sesji do użycia, bez zmiany użytkownika.
Najważniejsza nowa sesja PS ma parametr -Credential, wprowadź hasło użytkownika, które nie jest tym samym co runy. Czy exe jest taki sam? Czym jeszcze jest SmbSession?
Dlatego nie sądzę, żeby było konieczne używanie run w PowerShell. exe。
Wystarczy używać tych komend z sesją i poświadczeniem, prawda?

Sprawdź polecenia o nazwie [Credential] w nazwie parametru:
get-command -ParameterName Credential

Zobacz polecenia za pomocą znaku [session] w poleceniu:
get-command *sesja*


P: Jak wysłać e-mail za pomocą PowerShell?
A:
Send-MailMessage - Temat 'Podmiot'
-Z "twojego hotmail konta @hotmail.com" -Do "twojego QQ maila @qq.com" '
-SmtpServer "smtp.live.com" -port 587 -useSsl -poświadczenie "twoje konto hotmail @hotmail.com" '
-Załączniki $Attachments -BodyAsHTML -treść $HTML treści e-maila

Nuta:
1 zastosowaniexxx@QQ.com+ Twoje hasło QQ + powyższe polecenie Wysyłanie e-maila nie działa. Ze względu na bezpieczeństwo haseł QQ Tencent wymaga niezależnych haseł do e-maili.  
2 Domyślnie nie jest możliwe wysyłanie ze skrzynki QQ. Jest wyłączony i musisz włączyć SMTP w ustawieniach.
3 PowerShell 3.0 i wyższe obsługują tylko parametry portów. Do win7 musisz najpierw zainstalować najnowszą wersję PS




P: Monitoruj procesor, dysk, sieć, IO itd.
A:
Monitor wydajności lub
Get-Counter pobiera dane liczników wydajności zarówno z komputerów lokalnych, jak i zdalnych.

P: Jak mogę zobaczyć, jakie przedmioty na kontratakach są dostępne?
A:
Wszystko jest w instrukcji.
Sprawdź, jakie są główne kategorie zastosowań:
Get-Counter -listSet * | Sort-Object CounterSetName | Format-Table CounterSetName


Na przykład teraz wiem, że kategoria dysku to (PhysicalDisk), a następnie sprawdzam podkategorie na dysku, używając:
(Get-Counter -ListSet PhysicalDisk). Ścieżki




P: Jak mogę zobaczyć logi?
A:
Podgląd zdarzeń, lub
get-eventlog



P: Jak wykonać stringi?
A:
$cmd 1 = 'xxxx'
Wywołanie-Ekspresja $cmd 1


Nauczyliśmy się już wiele o pojedynczych komendach, przyjrzyjmy się wykonywaniu skryptów PowerShell.


---------- Rozdział 7 Skryptowanie, debugowanie i uruchamianie PS1 --------------
Skrypt to kombinacja i nakładka instrukcji poleceń. Scenariusz to klej, szukaj innych do zadzwonienia, szukaj kół do złożenia samochodu. Zamiast robić koła, dla innych.



Cainiao zapytał: Jak napisać scenariusz?
Stary ptak odpowiedział:
1 Szczegóły problemu muszą zostać wyjaśnione. Na przykład: zrób księżycowe ciasteczka.
2 Pomysły rozwiązywania problemów są również zasadniczo ukończone. Mąka i woda, nadzienie i parowanie.
3 Jakich poleceń i zmiennych używać. Dodaj pięć ziaren, włóż je do formy i wyciśnij.
4 Najpierw pisz mniej więcej, pisz mniej więcej.
5 Debugowanie przeszło.
6 Pisz szczegółowo. Weźmy pod uwagę sytuację z błędem, plus kod błędu, komunikat o błędzie. Usuń kod podatny na błędy, który nie jest łatwy do kompatybilności. Przepisz kod, który nie działa dobrze.
Do tej pory dobry scenariusz może nie wyglądać dobrze, ale powinien być bardzo przydatny.
7 Wykonany z misternym stworzeniem. Refaktoryzacja, zapisywanie ponownie użytych fragmentów kodu do funkcji. Przepisz nazwy zmiennych, aby ludzie mogli je zrozumieć od razu. Dobrze sformatuj kod i wykonaj wcięcia.


P: Jakie IDE jest używane do pisania PS1?
A:
Najczęściej polecane jest korzystanie z Visual Studio Code oraz wtyczki PowerShell.
Funkcje: prompty kodu, automatyczne uzupełnianie, formatowanie kodu, wcięcia do wyboru spacji lub tabulatora, ustawienia kodowania plików.
Istnieje wtyczka o nazwie FTP-sync, która potrafi zapisywać skrypty PS1 w VSCode w Windows i automatycznie synchronizować je z katalogiem Linux po zapisaniu.



P: Jakie narzędzia są używane do debugowania PS1?
A:
Najbardziej polecane powergui Life nie używa lokomotywy, nawet jeśli to hero, skrypt PS również podskoczy i zgłosi błąd!
VSCODE też działa dobrze



P: Jakich narzędzi używasz do formatowania kodu?
A:
Wszystko, co powinno być wcięte, jest wcięte, a znaki równości są wyrównane.

PowerShell ISE + ISE Plugin [ISESteroids]

Instalacja:
Install-Module -Nazwa ISESteroids

Biegi ISE:
Start-Steroids





P: Jakich narzędzi używasz, aby kolor kodu był piękny?
A:
1 Użyj powyższych narzędzi do formatowania kodu.
2 Używaj PowerShellise + Missionary DIY Color Matching Edition 2016.
3 Złap zdjęcie. Powstaje najprzyjemniejszy i najpiękniej kolorowany kod PowerShell na świecie.

Wszystkie powyższe IDE są w języku chińskim.




P: Jak nazwać scenariusz? xxx.ps1
A:
Zaleca się zaczynanie od 1---2 liter, a resztę używać chińskiej nazwy pliku. Np. [bf robi kopię zapasową wszystkich starych files_ i usuwa .ps1 sprzed 10 dni]
W ten sposób najpierw wpisz [bf], a następnie naciśnij tab, aby dokończyć nazwę skryptu.




P: Jak włączyć uprawnienia do wykonywania skryptów PowerShell?
A:
echo Następujący kod można uruchomić w cmd z uprawnieniami administratora lub w PowerShell z uprawnieniami administratora.
Echo jeśli używam zdalnego sterowania PowerShell. Zarówno lokalna, jak i zdalna maszyna muszą działać z uprawnieniami administratora.
"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -komenda "Set-ExecutionPolicy -ExecutionPolicy Unrelimiteded"
"C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -komenda "Set-ExecutionPolicy -ExecutionPolicy Unrelimitedd"
& "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -polecenie "Set-ExecutionPolicy -ExecutionPolicy Unrelimiteded"
& "C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -polecenie "Set-ExecutionPolicy -ExecutionPolicy Unrelimiteded"
pauza



P: Jakie są wady lokomotywy (powergui)?
A:
Nie mogę ustawić koloru tła.




P: Jakie są wady vscode?
A:
$ i nazwa zmiennej nie są tego samego koloru.
Funkcje debugowania są wolne i czasem zaciśnięte.




P: Jakie są wady ISE?
A:
Nie możesz zdecydować się na zapisanie lub konwersję kodowania.
Wcięcie do [spacja], [tabulator] oba. W innych programach do edycji tekstu wyświetlane jest wcięcie.




---------- Rozdział 8: Prawdziwe ćwiczenia bojowe --------------
Grupa 6504748 i napisała tę część samodzielnie.

5. Przykład 1: Włącz i wyłącz usługę
6. Przykład 2: Zapora sterująca (Otwarcie, Zamknij, Reguła)
7. Przykład 3: Ustaw politykę (na przykład politykę haseł)



---------- Rozdział 9 te dodatkowe kursy fakultatywne – czy jesteś zainteresowany? --------------
Przykłady skryptów PowerShell, argumentów wiersza poleceń oraz zmiennych powiązanych
http://www.cnblogs.com/piapia/p/5910255.html




Niech PowerShell uruchamia tylko jeden skrypt naraz (przykład wzajemnego wykluczenia procesu)
http://www.cnblogs.com/piapia/p/5647205.html



Interfejs postaci powershell, interfejs powershell plus WPF, gra 2048
http://www.cnblogs.com/piapia/p/5531945.html


Dwa crawlery w PowerShell
http://www.cnblogs.com/piapia/p/5367556.html



Skrypt PowerShell: Generator losowych haseł
http://www.cnblogs.com/piapia/p/5184114.html



Przykład algorytmu rekurencyjnego PowerShell
http://www.cnblogs.com/piapia/archive/2013/01/29/2881011.html



PowerShell Kalkulator Głosowy
http://www.cnblogs.com/piapia/archive/2012/10/20/2731506.html



1 Wymień wszystkie pliki zaszyfrowane przez EFS. 2Odszyfruj wszystkie pliki zaszyfrowane EFS
http://www.cnblogs.com/piapia/p/4702514.html
Jest to narzędzie przeznaczone dla administratorów systemów i sieci.
Po odejściu pracownika z pracy, jego dysk zakłada, że jest tam 10 000 plików (katalogów), z których 3 katalogi są zaszyfrowane przez EFS. W Explorerze te trzy pliki są zielone.
Ale jeśli klikniesz na (10 000 katalogów) jeden po drugim, niezależnie od tego, czy jest zielony, czy nie, będziesz wyczerpany.
W tym momencie administrator sieci korzysta z konta WIN pracownika, loguje się na jego komputerze i używa tego skryptu do wyświetlenia wszystkich plików zaszyfrowanych przez EFS.


---------- Rozdział 10 Proszę zadać pytanie--------------
Panie i panowie, jeśli jest coś do zgłoszenia, opuszczajcie sąd bez niczego.



----------Rozdział 11 Rozdział Linuksa--------------

Missionary: Dopóki możesz zainstalować wersję PowerShell na Linuksa, potrzebujesz tylko skryptów ps1, żadnych skryptów sh.
Interpretacja:
1 Krótko mówiąc, bash ma tylko składnię, żadnych poleceń i bibliotek.
2 Bash ma tylko 1% funkcji składniowych, powershell nie potrafi tego zaimplementować. To normalne, nie ma dwóch identycznych liści na świecie.
To oznacza, że potrzebujesz tylko skryptu na PS1, bez żadnych problemów.
3 bash to za stare, ta sama funkcja, Powershell można zaimplementować, a także zaoszczędzić czas, na przykład 10 000 pustych forów, Powershell musi zapisywać 90% czasu.
4 Naucz się używać /usr/bin/powershell zamiast /usr/bin/bash. Inne polecenia Linuksa, pipeline, stare kung fu itd. są używane dokładnie tak samo jak w Bash.
5 Stopniowo używaj obiektowych, prostych i potężnych poleceń PowerShell oraz bibliotek zamiast wyczerpujących poleceń Linuksa lub obu tych metod. ---To jest ogólna zasada, ogólny zarys.


P: Które wersje Linuksa mogą zainstalować PowerShell?
A:
◦Ubuntu 14.04 / 16.04
◦CentOS/RHEL 7 i wyższe
◦otwarty SUSE 42 i wyższe
◦Arch Linux (archl inux nie ma numeru wersji)
◦LINUX docker container
◦Linux AppImage container (portable application single binary) https://github.com/probonopd/AppImageKit





P: Dlaczego mówi się, że linia poleceń w Win jest silniejsza niż w Linuksie?
A:
Polecenia w 1 win przekształciły się w obiektowy PowerShell. Linux jeszcze nie działa. Od win7 do win2012r2 ewolucja się kończy.

2 Słyszałem, że Unix ma wiele poleceń Linuksa i jest bardzo potężny. Ale teraz mówię wam, że polecenia PowerShell są co najmniej dziesięć razy częstsze niż w Linuksie. Tak czy inaczej, i tak przez całe życie się czegoś nie nauczyłem.

3 Linux jest bardziej zależny od grafów, z zbyt małą liczbą poleceń. A komenda win to znacznie więcej niż Linux.
3.1 W każdym Linuksie polecenia na serwerze poczty są coraz bardziej kompletne niż w Exchange? Wygodniej niż wymiana?
3.2 Przypisanie serwera DNS w Linuksie nie jest tak wygodne jak polecenie DNS w win. Czy bind ma [polecenie], aby dodać rekord ipv4 A do domeny? Jeszcze nie zależny od grafiki webowej?
Niektórzy mówią, żeby używać nsupdate. To nie chodzi o napisanie tekstu i jego uruchomienie. Jaka jest różnica między zastąpieniem pliku [DNS zone] na sed a ponownym wczytaniem [DNS zone]?

4 W nowej wersji Win, czyli w PowerShell, wszystko jest [command + parametr]. A większość Linuksa to wciąż [sed text].
4.1 Weźmy na przykład adres IP przypisany karcie sieciowej.
NMCLI Connection Add Type Ethernet Con-name NEW_STATIC IFNAME ENO1234567 IP4 192.168.1.111 GW4 192.168.1.1,
Czy nie jest to wygodniejsze niż używanie sed do scrapowania pliku ifcfg-eth0?

5 Każdy język przetwarza dane, podobnie jak skryptowanie. Dzięki obiektom PowerShell jest wygodniejszy niż awk. Shenma csv, excel, xml, json
Tabela SQL, tabela NoSQL. HTML itd.




P: Jak PowerShell implementuje [sed -i "s/what to look-for/replace with /g" filename]?
A:
@(Get-Content filename) -zamień 'aaa','bbb' | Nazwa pliku Set-Content $aaa
To znaczy, otwórz plik, zamień go, zapisz plik.



P: Dlaczego coraz mniej osób korzysta z SED w Linuksie?
A:
Argument 1: AWK może zastąpić SED, ale SED nie może zastąpić AWK.
sed, czyli po prostu znaleźć podstawienie. AWK ma i podobne, by implementować złożone przetwarzanie.

Argument 2: AWK używa standardowej regularności, a regularna w sed jest taka sama jak w sed, ale części są różne.
Nauka SED oznacza, że dwa zestawy niezgodnych standardów regularnych w mózgu ze sobą walczyły.



P: Czyli warto nauczyć się AWK?
A:
Nauka PowerShell jest łatwiejsza niż nauka AWK.
PowerShell używa [split, a potem split], [if and if], where-object, string.substing(), string[-3] itd.
Rozłóż problem na warstwę po warstwie. Prostsze niż zwykłe niezręczne.




P: Czy potoki i AWK mogą być używane w PowerShell?
A:
Możesz wywołać awk w PowerShell, dokładnie tak samo jak w Bash. Stare sztuki walki to całkowicie Turyń.



P: Jak zaimplementować funkcję [awk '{print $3}'] w PowerShell?
A:
($line -split "\s+|\t+") [0] #第一行
($line -split "\s+|\t+") [2] #第三行       

Get-Content /xxx/yyy.txt | foreach-object {$_.split()[2]} #awk '{print $3}'


P: Jak zaimplementować funkcję [awk -f a.awk file] za pomocą PowerShell?
A:
W zasadzie jest to funkcja filtrująca wykorzystująca rurę. W PowerShell nazywa się to filtrem lub filtrem.
PowerShell obsługuje połączenie poleceń + rur + filtrów. Jak w Command 1 | Filtr 1 | Polecenie 2 | Filtr 2 | Filtr 3
filtr filtr1
{
Funkcjonalność podobna do AWK
}





P: Czy w PowerShell jest [xargs]?
A:
Zmienna pipe używana w pipeline nazywa się [$psitem], a jej alias to [$_].
PowerShell wykorzystuje foreach-object oraz $_ do implementacji funkcji xargs.





P: Czy w PowerShell jest numer [<] [<<]?
A:
Nie.
Być może [<] symbolem od prawej do lewej jest myślenie antyludzkie. Wiele poleceń w PowerShell zostało zmienionych na lewą do prawej.
Jeśli get-random < (1..100) nie jest legalny w PowerShell, to legalny powinien być get-random -inputobject (1..100), czyli 1. 100 |get-random
Mniej niż 1% dziwnych poleceń [musi] opierać się na symbolu [<], co można uzyskać, wywołując cmd w PowerShell lub bash (PowerShell for Linux) w PowerShell.
Na przykład, $a = bash -x "command 1 < command 2" #linux
Na przykład $a = cmd -c "command 1 < command 2" #cmd




P: Czy w PowerShell jest polecenie expect? Jak połączyć się z serwerem SSH Linux z Win za pomocą PowerShell?
A:
1. Tak. Dla niektórych dziwnych i częściowych potrzeb związanych z drzwiami dostępne są moduły firm trzecich.
2 Nie. PowerShell nie używa polecenia expect, lecz korzysta z sesji.

Użyj Powershell + biblioteki klienta SSH + IP + port + nazwa użytkownika + hasło, aby połączyć się w połączenie i wysłać polecenia do tego połączenia. Kod jest następujący:
$connection 1 = New-SSHSession -ComputerName 1.1.1.1 -Port 22 -Credentials aaaa #将提示输入密码
$to return = Invoke-SSHCommand -Command {cat /etc/issue} -SSHSession $Connection 1

Ta standardowa funkcjonalność, taka jak (MongoDB, mysql, ssh, ftp, http, telnet itd.), zawiera sterowniki lub moduły. PS i. .netprogram, poprzez połączenie sterownika, wysyła polecenia i akceptuje dane.
Korzyści z używania modułów lub sterowników do wysyłania i odbierania [danych] to:
Dane zostaną przekształcone w obiekt .net, który z kolei zostanie przekształcony w obiekt PS. Poza tym to tylko struny, a [sztuki walki zorientowane na przedmioty] sekty PS są bezużyteczne.


Weźmy MongoDB jako przykład, jakie są zalety używania modułów lub sterowników do wysyłania poleceń? Kto mówi?
Uważam, że korzyści to:
1 Wielowątkowość. Wątek tła działa i nie zajmuje bieżącego wątku.
2. Możemy w dowolnym momencie [rozłączyć się w połowie] od sesji, wykonać inny kod PS, funkcje i [wrócić do sesji w dowolnym momencie]. Skrypty są bardziej elastyczne w pisaniu i łatwiejsze do debugowania.
3session przyciąga wielu użytkowników, a różni użytkownicy mogą mieć różne uprawnienia serwera.




P: Czy w PowerShell jest polecenie Su, Runa? Jak uruchomić polecenie innego użytkownika za pomocą PowerShell?
A:
Nie.
W PowerShell uruchamianie natywnych poleceń i potoków Linuksa jest bezproblemowe. Na przykład:
sshaaa@127.0.0.1"Wykonane z uprawnieniami użytkownika AAA, komend xxx"  
sshpass -p user_password sshaaa@192.168.1.1



P: Dwa komputery Linux z SSHD? Jak łączyć się i wysyłać polecenia za pomocą PowerShell?
A:
Oprócz powyższej metody możesz także skorzystać z utworzenia nowej sesji Linuksa. (Połączony z Linuksem do innego SSHD)
Uwaga: Ta metoda wymaga edycji pliku /etc/ssh/sshd_config. Dodaj następującą linijkę
Podsystem PowerShell powershell -sshs -NoLogo -NoProfile
Po tym zrestartuj serwer SSHD.
Szczegółowy podręcznik znajdziesz tutaj:
https://github.com/PowerShell/PowerShell/tree/master/demos/SSHRemoting

Polecenie:
$connect 2 = New-PSSession -HostName 127.0.0.1 -UserName user006 #手动输入密码或用-KeyFilePath opcja
invoke-command -session $connect 2 -scrip{filter}tBlock {new-item ~/ccc.txt}


Streszczenie:
Klient Win, połączony z serwerem Linux. Obecnie wymagane są moduły firm trzecich, oczywiście jest to moduł w oficjalnej bibliotece, wystarczy użyć modułu instalacyjnego PoshSSH.
Klient Linux, połączony z serwerem Linux. Musisz edytować plik /etc/ssh/sshd_config.
Klient Linux, połączony z serwerem Win. Musisz włączyć usługę na serwerze. Zaufaj serwerowi na kliencie.
Klient Win, połączony z serwerem Win. Musisz włączyć usługę na serwerze. Zaufaj serwerowi na kliencie.


P: Czy w PowerShell jest [grep]?
A:
Polecenie select-string jest używane w PowerShell.
Z punktu widzenia kodowania, select-string=smart, grep=stupid + mają poważną wadę :mrgreen:
Gdy pojawia się nagłówek BOM, select-string automatycznie rozpoznaje typ kodowania pliku.
Gdy nie ma nagłówka BOM, nie ma potrzeby zmieniać środowiska powłoki jak linux+grep i nie ma potrzeby zapisywania plików zgodnie z określonym kodem. Wystarczy określić parametr kodowania -encoding zgodnie z kodowaniem pliku.
Grep nie posiada tej funkcji, czyli istnieje poważna wada [nie można określić typu kodowania pliku].
Oczywiście grep nie jest bezużyteczny, grep ma pewne parametry, dodatkowe unikalne funkcje, select-string nie, to właśnie tutaj grep jest silniejszy niż select-string.



P: Czy w PowerShell istnieje [evaluacja]?
A:
Użyj Invoke-Expression do wykonywania ciągów znaków w PowerShell.



P: Czy w PowerShell istnieje ogonek -f? Możliwe jest wygenerowanie nowo wygenerowanych linii pliku w czasie rzeczywistym.
A:
Get-Content D:\a.txt -Tail 10 -ReadCount 0 -Czekaj



P: Chcę używać małej klawiatury i jednocześnie terminala z 256 kolorami, więc jak powinien być skonfigurowany xshell?
A:
Terminal --- Typ terminala --- [putty-256color] lub [export TERM=putty-256color]
Terminal --- klawiatura --- domyślnie lub Linux.

Eterm-256color może
Gnome-256color nie działa
konsole-256color nie działa
Putty-256color
PowerShell Missionary Oryginalne udostępnienie 2017-02-15
RXVT-256COLOR nie działa
screen-256color nie działa
ST-256COLOR
VTE-256COLOR nie działa
xterm-256color nie działa
Ta sama zasada dotyczy SecureCRT




P: Kto jest potężniejszy, shell czy python?
A:
Każdy z nich ma swoje mocne strony i może się uzupełniać. Ale nie są uzupełniające. Więcej na ten temat poniżej.


P: Dlaczego wersja PowerShell na Linuksa jest bardziej odpowiednia dla personelu operacyjnego i konserwacyjnego do pisania skryptów? (W porównaniu do wersji Pythona na Linuksa)
A:
1 Python posiada funkcje obiektowe, a wersja PowerShell na Linuksa jest dostępna.

2 Python nie ma linii poleceń.
2.1 Python nie może być domyślnym terminalem dla SSH, ale PowerShell dla Linuksa już tak. Zobacz rozdział: "Dwa komputery Linux z SSHD? Jak łączyć się i wysyłać polecenia za pomocą PowerShell? 》
2.2 Używanie poleceń powłoki (awk, grep itp.) w Pythonie jest bardzo uciążliwe. Trzeba dodać dużo składni i kodu py. PowerShell na Linuksa uruchamia polecenia awk tak samo jak Bash.

3 Python nie ma połączeń. Przesyłanie wartości między n [programami wiersza poleceń] jest bardzo uciążliwe. Trzeba dodać dużo składni i kodu py. Wersja na Linuksa PowerShell ma pipeline, a uruchamianie poleceń awk jest takie samo jak bash.

4 Python ma wersję 2, wersja 3 nie jest kompatybilna z rakiem! Pytanie. PowerShell na Linuksa nie ma takiego problemu.
4.1 Te pytania zawierają zadania kodowace.

Podsumowanie:
Polecenia powłoki, takie jak GreP, nie są dobre do wsparcia kodowania, nie tak dobre jak problemy kodowe z wersji 4.1 powyżej w PowerShell w domu. Plus powyższe 2,3 punkty.
To sprawia, że użytkownicy Linuksa czują się niekomfortowo, ale bardzo niewielu używa zewnętrznych poleceń w py. [py command library] i [shell command] są martwe i zasadniczo nie mogą się uzupełniać. Wersja na Linuksa PS jest inna.




P: Dlaczego mówi się, że PowerShell jest lepszy od shell?
A:
1 PowerShell jest obiektowy, a właściwości zwracają bezpośrednio dostępne dane. Jest to znacznie rzadsze niż w językach skryptowych znaków (bat, shell), które wymagają dedukcji ciągów znaków.
Urodził się z mniejszą ilością [treści, od której trzeba uciekać].
2 Podstawienie wyszukiwania ciągów znaków, w PowerShell są metody niewymagające escapingu, w klasie .NET. Na przykład:
[string]$a = 'abc\\def'
$b = $a.zastąpnij('\\','kiedy')
#返回: [ABC jako def]
Aby sprawdzić, czy adres IP jest legalny, można użyć metody TryParse() w klasie IPAddress.
Krótko mówiąc, moja sugestia to używać jak największej liczby metod .net, używać jak najmniej regexu lub po prostu prostych regularnych źródeł.
3 PowerShell używa ['] jako symbolu escape. ['] jest rzadziej używany niż [\] i znacznie rzadziej używany jako symbol ucieczki.
3.1 Podczas pisania skryptów baz danych pojawia się więcej konfliktów ['].
Na przykład ['table'] będzie konfliktować z ['t], na przykład ['biao'] będzie konfliktować z ['b], a później rozwiązałem to za pomocą ['table'].
Wyszukiwanie i zastępowanie ciągów 4 ps, ma standardowy silnik, jest kompatybilny z Linuksem i używa [\] jako ucieczki.
Istnieje jednak specjalna funkcja unikania ciągu [[Regex]::Escape()], która jest najpierw escape, a następnie znajduje się i zastępuje, a kod jest bardzo czytelny.
$Original ciąg przed escape = '\+\&*|]'
$escaped string = [regex]::escape($original string before escape)
-------------
Przykłady skryptów
[string]$a = 'abc\\def'
$Original struna przed escape = '\'
$Escaped String = [Regex]::Escape($Original String Before Escape) #[\]--->[\\]
$b = [Regex]::replace($a,$Escaped String, 'When')
$b #返回 [ABC Dangdang DEF]
-------------
5 uderzeń i zręczności, każdy ma własne for, każdy ma swoją ucieczkę. Łącznie łatwo jest A wpłynąć na B, a A połyka B.
Łatwo też pojawić się problemy podczas napotykania ['], ["], [\] i [*].
To jak noszenie dwóch warstw długich spodni – jedną warstwę naciągasz, a druga warstwa też się porusza, musisz się martwić o ich kompatybilność.
To jest rak i trudno go rozwiązać.
Ale jeśli chodzi o szczypnięcie, tego problemu można też do pewnego stopnia uniknąć. Wymaga to od osoby, która napisała powłokę, do usunięcia tego śmierdzącego problemu.
[Umieść kod awk osobno w pliku .awk, nie w wierszu poleceń]
PowerShell nie ma tego problemu, wpisz to w wierszu poleceń, wpisz w skrypcie, nie ma to żadnego efektu.








Poprzedni:.net/C# wykorzystuje atrybuty do implementacji prostego AOP
Następny:.net/c# Szybki skaner IP Open Port v2.0 Ultimate Version
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com