Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 11695|Vastaus: 1

PowerShellin aloitusopas - v0.3 versio

[Kopioi linkki]
Julkaistu 19.4.2017 16.48.30 | | |


---------- Luku 1 Windowsin skriptaushistoria --------------


1 Ensimmäisen sukupolven käsikirjoituslepakot. Se alkoi win95:llä--------- win98:lla ja päättyi noin vuonna 2008. Ominaisuudet: Merkkipohjaiset komennot, komentorivillä ja putkilinjalla.
2 Toisen sukupolven käsikirjoitus-VBS. Ominaisuudet: Vain funktiot, arvojen välittäminen, kutsut.
3 Kolmannen sukupolven skriptipowershell. Vuodesta 2012 alkaen komento on täysin kehittynyt objektikeskeiseksi. Esimerkiksi tehtävälista ja get-process ovat toistuvia pyöräominaisuuksia: olio-orientoituneita. Perien edellisten kahden sukupolven kirjoitustyylien edut.



K: Miksi oppia PowerShelliä?
A:
Lähetyssaarnaaja vastasi, että hän opiskelisi vuoden ja viisi vuotta BAT:iin. Yksinkertainen syntaksi ja vahvat kirjastotoiminnot!
Ainoa maailmassa, joka tukee objekteja, joissa on komentoja molemmilla puolilla putkea. eli olio-orientoitunut komento 1 | Olio-orientoitu komento 2

Windows ja Linux eroavat toisistaan:
PowerShell-skriptissä Winissä,
Tuki CR, LF, CRLF sisään. Tue monisäikeistä ja moniprosessista samanaikaisuutta.
On helppo upottaa [Text2-ääni], "Raportoi kapteeni, levy on täynnä".
Graafisen käyttöliittymän upottaminen on helppoa. (Kun ponnahdusikkuna pyytää käyttäjätunnuksen, salasanan, yksittäisen valinnan, useamman valinnan jne.) Nämä ovat Linux-skriptien kateutta.

PowerShell eroaa Pythonista:
Kiinan käyttö PowerShellissä on helppoa. Kiinalainen kirjoitusnimi, muuttujan nimi, kommentti. Kiinalaiset yksittäiset lainausmerkit, kiinalaiset kaksoislainausmerkit.
Tunnistaa automaattisesti GBK-, UTF8- ja Unicode-koodauksen. putkistotukiobjekteja, joista python-skriptit ovat kateellisia.



Yksinkertainen syntaksiesimerkki 1: Powershellin yksittäisten ja kaksoislainausmerkkien taikaa.
Yksittäiset lainausmerkit voidaan lainata kaksoislainausmerkeillä. Ja päinvastoin.
Yksittäisiä ja kaksoislainausmerkkejä voi @引用 @''.
BAT ei toiminut.


Lähetyssaarnaajan kertoja:
Olen pohtinut tutoriaalin suunnittelua paljon. Etkö lukenut, että kirjoittamani historia oli hyvin [yksinkertaista ja karkeaa]? Historia kulkee yhdellä iskulla.
Mutta koska sanoin tämän, se ei ole hölynpölyä, haluan vain, että opiskelijat tekevät selväksi, että win7-win2008:n jälkeen skriptien [esineellistäminen] on tullut suosituksi. Johtaa seuraavaan lukuun olio-orientoituneesta selityksestä.
Jokaisessa PS:n johdantotutoriaalissa tulisi mainita ero hahmokeskeisen ja olio-keskeisen välillä. On yksinkertaisesti sopivaa hieroa tämä aihe komentorivin historiaan.

---------- Luku 2 Olio-ohjelmoinnin ihmeellinen --------------
Mikä on objekti, miksi se on olio-suuntautunut ja miksi Microsoft vahvistaa pyörää?

Oliopohjainen esimerkki 1:
Kysymys: Syön 2,2 omenaa päivässä, kuinka monta omenaa syön 17 päivässä?
A:
2.2 x 17 on saatavilla. On myös mahdollista käyttää i++:aa, jota tukee mikä tahansa skriptikiel.
kun ($i = 1; $i -luutnantti 18; $i++)
{
        $Apple = 2,2 + $Apple
        kirjoitus-isäntä $i,$Apple
}

--------------------------------------------
Heti kun kysymys muuttuu, en kerro päivien määrää, vaan kerron vain,
Syön 2,2 omenaa päivässä, kuinka monta omenaa syön 20. tammikuuta – 20. kesäkuuta 2017?
$days = ((hakupäivä '2017-06-20') - (hakupäivä '2017-01-20')).päivät #值151


Syön 2,2 omenaa päivässä, kuinka monta omenaa syön 20. tammikuuta – 20. kesäkuuta 2020?
$days = ((hakupäivä '2020-06-20') - (hakupäivä '2020-01-20')).päivät #值152

for ($i=(saa-päivämäärä '2020-01-20'); $i -lt (päivämäärä '2020-06-20'); $i=$i.adddays(1))
{
        $Apple = 2,2 + $Apple
        kirjoitus-isäntä $i,$Apple
}

Johtopäätös: Päivämääräobjektin kanssa päivien, tuntien jne. laskeminen on yksinkertaista. [for,,i++] on yleinen, mutta en koskaan ajatellut, että luku i voisi olla päivämäärätyyppi.

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



Mitkä ovat olio-orientoidun edut?
Ennen olio-ohjelmointia meillä oli vain merkkijonoja ja kokonaislukuja.
1 On olemassa esine.
----- [Hahmotyyppi]-----
Glyfissä on system.string, joka on perusmalli.
System.Text.StringBuilder -muisti, usein vaihtuvat, suuret merkkijonot

----- [Numeerinen tyyppi]-----
system.int32, system.int64, system.decimal, system.double, System.Numerics.BigInteger ääretön kokonaisluku.
Yleisesti käytetty on int32, desimaali.

Se, onko 1/3*3 yhtä kuin 1 vai 0,9999, riippuu tietotyypistä.
----- [Array]-----
system.array array
system.arraylist-taulukko muuttuu usein, kuten aina uudelleenkirjoittaminen, liittäminen tai poistaminen, tätä täytyy käyttää. Nopeus on suhteellisen nopea.
System.Collections.Generic.HashSet dedlikaatisoi taulukot. Sama kuin pythonin set-objekti.

-----【Form】-----
1 komentolähtö. Esimerkiksi dir, get-process.
2. Skriptejä kirjoittaessa käytämme objekteja ja attribuutteja rakentamiseen.

----- [Muut] -----
Hajautustaulukot, tiedostot jne.



2:lla on attribuutteja. Attribuutit ovat argumentteja ja pienempiä kuin merkkijonot. Ennen kuin attribuutteja ei ole, meidän täytyy suodattaa ja suodattaa merkkijonot [aivoja polttavalla säännöllisellä], jota kutsutaan [deduktiomerkkijonoksi]. Jos sinulla on ominaisuuksia, et tarvitse niitä.
3 On olemassa keino. Menetelmä on ohjelma, koodi. Ei tarvitse kirjoittaa sitä itse uudelleen. Bat ei todellakaan ole hyvä, ei ole mahdollista, on myös henkilökohtainen kirjoitus, epäluotettava, älä uskalla käyttää sitä.
Metodit voivat olla itse kirjoitettuja ps-funktioita, itse kirjoitettuja metodeja ps-luokissa.
Menetelmä, jonka kirjoitat itse, voidaan tilapäisesti [yhdistää] kolmannen osapuolen luokkaan.
Itse kirjoittamasi menetelmä voidaan väliaikaisesti [yhdistää] .net-luokkaan.

Mitkä ovat objektiorientoitumisen haitat?
Saarnaaja opettaa powershelliä ihmisille, jotka käyttävät winxp:tä. Henkilö sanoi, että powershell ei ole hyvä, esine on liian muistiintensiivinen, ja hän on oikeassa.
Komentojärjestelmässä palautan 100 tiedostonimeä (merkkijonoa) dir:llä. PowerShellissä käytän diriä palauttamaan 100 tiedostoobjektia, ja Powershell vie paljon muistia.
Mutta nyt on toisin:
1. Tarpeetonta sisältöä ei saa olla muuttujina. Tai tuhota se heti käytön jälkeen vähentääksesi muistin käyttöä.
2. Muistin pudotus riittää. Koska suorittimen suorituskyky ei enää parane, lisäämme muistia paniikissa yrittäessämme vaihtaa tilaa aikaan.
3. Haluamme tehokkaampia ominaisuuksia, ja olioorientaatio on nykyään kaikkein perustavanlaatuisin. Mikä ei ole olio-orientoitunut, py, php, java, .net, c++?

Yhteenveto:
1 Objektit ovat suurempia ja muistia kuluttavampia kuin merkkijonot.
2. On olemassa enemmän menetelmiä olio-orientaatioon ja vahvempiin funktioihin.
3 attribuuttia ovat pienempiä kuin merkkijonon rakeisuus, mikä on erittäin kätevää käyttää. Vältin [hullun aivoja polttavan tavallisen suodatuksen] kielet!


=== Hullu aivopolttavien vakioasiakkaiden käyttö esimerkkien suodattamiseen, Bat-versio pingin oletusportista ===
@echo off&setlocal enenableddelayedexpansion
Echo etsii oletusporttia...

/f "usebackq delims=" %%i in ('ipconfig /all') do (
echo %%i|find /i "gateway">nul|| echo %%i|find "default gateway" >nul
jos "!errorlevel!" =="0" (
for /f "tokens=2 delims=:" %%a in ("%%i") do for /f "delims= " %%m in ("%%a") do set ipgate=%%m
)
)

Echon oletusportti on: !ipgate!
=========== pingata oletusgateway.ps1:n============
$default yhdyskäytävä = (get-netroute -DestinationPrefix 0.0.0.0/0). NextHop
& ping.exe $ Oletusportti

# testiyhteys $ oletusyhdyskäytävä
=======================






K: Vaikka olio-orientoituminen on niin hyvä, mistä nämä objektit tulevat?
V: .net-kirjastosta.


---------- Luku 3 Johdanto .NET--------------


K: Kuinka monta versiohaaraa .NET Corella on?
A:
Tällä hetkellä on kolme versiota.
.NET 2.0 .NET 3.51:n uusin versio
.NET 4.0 .NET 4.70:n uusin versio
.NET Core 1.x .NET 1.2:n uusin versio Apple-, Linux- ja sulautettujen järjestelmien käyttöön.
.NET Core 2.x Uusin .NET 2.0 -versio Apple-, Linux- ja sulautetuille järjestelmille.



K: Kuinka monta toiminnallista haaraa .netillä on?
A:
Työpöytähaara .NET:ssä. WinForm. Työpöytäikkunoiden kehittämiseen.
Äänikirjasto
asp.net .NET- ja .NET Core -palveluissa. Verkkopalvelintoimintojen kirjasto. Käytettiin B/S-verkkopalvelimen avaamiseen.
F# .NET:ssä ja .NET Coressa. Sisältää matemaattisia kirjastoja, trigonometrisia funktiokirjastoja jne.
PowerShell .NET:ssä ja .NET Coressa. Sisältää yleisiä järjestelmänhallintarajapintoja, kuten skriptitiedostoja.
Linux
◦Ubuntu 14.04 \ 16.04
◦CentOS/RHEL 7 ja uudemmat
◦avaa SUSE 42 ja ylöspäin
◦Arch Linux (archl inuxilla ei ole versionumeroa)
◦LINUX-docker-kontti
◦Linux AppImage -kontti (kannettava sovellus, yksi binääri) https://github.com/probonopd/AppImageKit



MAC OS X
◦OS X 10.11


K: Miten .NET-ohjelma (C#-ohjelma) yhdistyy MySQL-palvelimeen?
A:
Mene mysql:n viralliselle sivustolle lataamaan .NET-kielen liitin.
mysql-connector-net-6.9.9-noinstall.zip--->v4.5--->MySql.Data.dll
Lisää MySql.Data-luokka .netiin ja lisää tietokantarajapinta.



Yhteenveto:
WinXP-koneessa asennetaan ensin .net 3.51, win7 ja win2008, ensin asennetaan .net 4.62 tai uudempi.

.NET on ollut olemassa jo monta vuotta, eikä .net-tukea ole montaa ohjelmistoa kuin Java. Kaikki .net-haarat, rajapinnat (tietokannat, WeChat jne.). )
Nuo dll:t, nuo kirjastot, powershell voidaan kutsua. Se on täsmälleen sama kuin exe, joka on kirjoitettu C#:lla.


K: .NET-haararajapinnan lisäksi, mitkä ovat PowerShellin omat kirjastot (moduulit)?
A:
Katso seuraava luku

---------- Luku 4 Yleisesti käytetyt sisäänrakennetut kirjastot, ulkoiset kirjastot ja kolmannen osapuolen kirjastot PowerShellissä --------------

Lähetyssaarnaajien apu:
Tätä lukua ei voi käsitellä, mutta se on vain luettelo kirjastoista ja käsikirjoista. Tallenna tämä luku kirjanmerkkeihin. Kun katsot näitä kirjastoja, tiedät, mihin PowerShell pystyy.



Win2012 manuaalinen osoite: (yleisimmin käytetty mainosmoduuli)
https://technet.microsoft.com/zh-cn/library/dn249523(v=wps.630).aspx
AD User Group Management, DHCP, DNS, Tulostin, Tiedostojen jakaminen, IIS, Levy, NIC,



Exchange2016
https://technet.microsoft.com/zh-cn/library/bb124413.aspx
Active Directory 12         
Roskapostin ja haittaohjelmien torjunta 59  
Asiakaskäyttö 100
Laajennusagentti 4
Sähköpostiosoitteet ja osoitekirjat 37
Liitto- ja hybridikokoonpano  
Korkea saatavuus  
Sähköpostivirta  
Postilaatikko  
Postilaatikkotietokanta  
Postilaatikkopalvelin  
Liiku ja siirry  
Organisaatio  
Käyttöoikeudet  
Politiikka ja vaatimustenmukaisuus  
Turvallisuus  
Palvelimen terveys, valvonta ja suorituskyky  
Jaa ja tee yhteistyötä  
Yhtenäinen viesti  
Käyttäjät ja ryhmät  



SQL server2016
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 ja yritystason virtuaalikoneita.


Asiakkaat:
Palvelut, prosessit, lokit, rekisterit, tiedostohakemistot, etähallinta. Aikarajoitetut tehtävät.



Internet:
FTP, sähköposti, SSH-asiakaslaajennus Linux-palvelinyhteyteen.


Tekstiviesti:
XML, HTML, CVS, JSON, EXCEL jne.


Teksti 2 -ääni


Graafinen käyttöliittymä.


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


PowerShell-ohjelmiston lähdekoodi --- virallinen PowerShell-kirjasto.
https://www.powershellgallery.com


Muut Niu x -kirjastot ovat kaikki githubissa. Lisäksi lähetyssaarnaajat julkaisevat säännöllisesti [Niu x Magic Weapon]ia [Hidden Foot Pavilionista], joka on hyödyllinen kolmannen osapuolen PowerShell-kirjasto.


---------- Luku 5 Aloittelijoiden täytyy oppia auttamaan komentojen käytössä--------------


K: Mistä tiedän PowerShell-version?
A:
$PSVersionTable



K: En tiedä moduulia, miten sen löytää?
A:
get-moduuli -ListAvailable


K: Miten löydän komentoja, kun tiedän niistä vain osan?
A:
get-command *palvelu*



K: Tiedän komennon, mutta en tiedä, mitä parametreja komennossa on, miten parametrit listataan?
A:
get-help write-host -Parametri *
show-komento-kirjoitus-isäntä


K: Tiedän parametrin, mutta en tiedä, mikä komento sisältää tämän parametrin, miten löydän komennon?
A:
get-command -ParameterName koodaus



K: Miten saan apua komentoriviltä?
A:
hae-apua-treffejä

-Esimerkkejä komentoja
-Verkko-opas




K: En tiedä komennon attribuuttimetodia (en tunne objektia), miten sen löytää?
A:
"ABC" | Tule jäseneksi
saa-päivä | Tule jäseneksi



K: Missä on kiinalainen .NET-käsikirja?
A:
MSDN。 Perusmerkkijonojen ominaisuudet ja menetelmät löytyvät käsikirjasta.
https://msdn.microsoft.com/zh-cn/library/system.string.aspx



---------- Luku 6 Johdatus yleisiin komentoihin --------------

Ensimmäinen oppimiskäsky on dir
K: Miksi käyttää powershell diriä [eli Get-ChildItem] komentoohjauksen sijaan?
A:
Oliolähtöinen, vahva menetelmä ja monia ominaisuuksia.
$file = dir a:\pscode\temp183\aaa.txt
$file. Koko nimi #返回全路径属性
$file. BaseName #返回文件名属性
$file. Laajennus #返回扩展名属性
$file. ViimeinenKirjoitusAika #返回最后写入时间属性



Ensimmäinen syntaksi, joka opitaan, on taulukkosyntaksi. $a = @(xxx komento)
K: Joskus joudut käyttämään [merkkipohjaisia ulkoisia komentoja] jakamaan palautusarvot taulukoihin käyttäytymisyksiköiden mukaan.
A:
$a = @(ipconfig)
$a[8] #第9行


get-childitem -käyttö:
Lisätty parametrit PowerShell 3.0:ssa ja uudemmissa versioissa

get-childitem d:\xxx -file #过滤, vain tiedostot tulostetaan
-Hakemistojen suodatus, pelkästään tulostushakemistot
-Piilotettu suodatus, vain ulostulo piilotettu


K: Avaa tiedosto, segmentoitu käyttäytymisen mukaan, laitetaan taulukkoon?
A:
$a = Hank-Content a:\pscode\temp183\aaa.txt -ReadCount 0



K: Avaa tiedosto isona merkkijonona ja tallentaa koko muuttuja?
A:
$a = Hanki sisältöä a:\pscode\temp183\aaa.txt -raw


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


K: Miten suoritan komentoja taustalla?
A:
Muinaisina aikoina oli komento /c "komento".
Nyt on powershell /c "komento" tai powershell -c "komento",
PowerShell -tiedosto "script.ps1" -argumentti 1 AAAA -parametri 2 1234
start-process -path xxx.exe -ArgumentList '-parameter1 aaaa -parameter2 1234'


K: Haluan ajaa skriptin toisen paikallisen käyttäjän kanssa, mutta PowerShellissä ei ole runoja. EXE-samankaltaisia komentoja?
A:
PowerShellissä on erilaisia istuntoja.
ip + portti + käyttäjätunnus + salasana = istunto, minun tarvitsee vain vaihtaa käyttäjätunnus, vaihtaa salasana, ja voit muuttaa käyttöoikeudet. Koska käyttöoikeudet ovat sidottuja käyttäjään.
Samoin minun tarvitsee luoda vain n istuntoa käytettäväksi, ilman käyttäjää vaihtamista.
Tärkeimmässä new-pssessionissa on -Credential-parametri, syötä käyttäjän salasana, joka ei ole sama kuin runas. Onko exe sama? Mitä muuta SmbSession on?
Joten en usko, että runojen käyttäminen Powershellissä on välttämätöntä. exe。
Sinun tarvitsee vain käyttää näitä komentoja istunnon ja Credentialin kanssa, eikö niin?

Tarkista komennot, joiden parametrin nimessä on nimi [Credential]:
get-command -ParameterName Credential

Näytä komennot [session]-merkillä komennossa:
get-command *istunto*


K: Miten lähetän sähköpostin PowerShellin avulla?
A:
Lähetä-MailMessage -Aihe 'Aihe'
-"Hotmail-tililtäsi @hotmail.com" -Suoraan "QQ-sähköpostiisi @qq.com" '
-SmtpServer "smtp.live.com" -portti 587 -useSsl -credential "hotmail-tilisi @hotmail.com" '
-Liitteet $Attachments -BodyAsHTML -body $HTML sähköpostin sisältö

Muistiinpano:
1 käyttöxxx@QQ.com+ QQ-salasanasi + yllä oleva komento Sähköpostin lähettäminen ei toimi. Koska QQ-salasanojen turvallisuuden vuoksi Tencent vaatii itsenäisiä sähköpostisalasanoja.  
2 Lähettäminen QQ-postilaatikosta ei ole oletuksena mahdollista. Se on pois päältä, ja sinun täytyy kytkeä SMTP päälle asetuksista.
3 PowerShell 3.0 ja uudemmat tukevat vain porttiparametreja. Win7:ää varten sinun täytyy asentaa PS:n uusin versio ensin




K: Seuraa win-prosessoria, levyä, verkkoa, IO:ta jne.
A:
Suorituskyvyn monitori tai
Get-Counter hakee suorituskykylaskuritietoja sekä paikallisilta että etätietokoneilta.

K: Miten voin nähdä, mitä vastaesineitä on saatavilla?
A:
Kaikki on käsikirjassa.
Tarkista, mitkä ovat pääkäyttökategoriat:
Hanki laskuri -listaSet * | Lajitteluobjekti CounterSetName | Format-Table CounterSetName


Esimerkiksi tiedän nyt, että levykategoria on (PhysicalDisk), ja tarkistan levyn alikategoriat ja käytän:
(Get-Counter -ListSet PhysicalDisk). Polut




K: Miten näen lokit?
A:
Tapahtumankatseluohjelma, tai
get-eventlog



K: Miten suoritan merkkijonoja?
A:
$cmd 1 = 'xxxx'
Kutsulauseke $cmd 1


No, olemme oppineet paljon yksittäisistä komennoista, katsotaanpa Powershell-skriptien suoritusta.


---------- Luku 7 PS1:n skriptaus, virheenkorjaus ja --------------
Skripti on komentolauseiden yhdistelmä ja päällekkäisyys. Käsikirjoitus on liima, etsi muita soittaa, etsi pyöriä auton kokoamiseen. Sen sijaan, että tekisivät pyöriä muiden käyttöön.



Cainiao kysyi: Kuinka kirjoittaa käsikirjoitus?
Vanha lintu vastasi:
1 Ongelman yksityiskohdat täytyy selventää. Esimerkiksi: tee kuukakkuja.
2 Ongelmanratkaisuideat ovat myös käytännössä valmiita. Jauhot ja vesi, täyte päälle, höyrytä.
3 Mitä komentoja ja muuttujia käyttää. Lisää viisi jyvää, laita ne muottiin ja purista.
4 Kirjoita ensin karkeasti, kirjoita karkeasti.
5 Debuggaus suoritettu.
6 Kirjoita yksityiskohtaisesti. Tarkastellaan virhetilannetta, lisäksi virhekoodia, virheilmoitusta. Poista virhealtis koodi, joka ei ole helposti yhteensopiva. Kirjoita koodia uudelleen, joka ei toimi hyvin.
Tähän asti hyvä käsikirjoitus ei ehkä näytä hyvältä, mutta sen pitäisi olla erittäin hyödyllinen.
7 Hienosti valmistettu. Refaktorointi, eli uudelleenkäytettyjen koodinpätkien kirjoittaminen funktioihin. Kirjoita muuttujien nimet uudelleen niin, että ihmiset ymmärtävät ne yhdellä silmäyksellä. Muotoile koodi hyvin ja tee sisennys.


K: Mitä IDE:tä käytetään PS1:n kirjoittamiseen?
A:
Suosituin on käyttää Visual Studio Codea sekä PowerShell-lisäosaa.
Ominaisuudet: Koodikehotteet, automaattinen täydennys, koodin muotoilu, sisennys välitilan tai välilehden valintaan, tiedostojen koodausasetukset.
On olemassa FTP-sync-niminen lisäosa, joka voi kirjoittaa PS1-skriptejä Winin VSCodella ja synkronoida ne automaattisesti Linux-hakemistoon, kun ne tallennetaan.



K: Mitä työkaluja käytetään PS1:n virheenkorjaukseen?
A:
Suosituin powergui-elämä ei käytä veturia, vaikka se olisi sankari, PS-skripti hyppää myös ja raportoi virheen!
vscode toimii myös hyvin



K: Mitä työkaluja käytät koodin muotoiluun?
A:
Kaikki, mikä pitäisi painottaa, on sisennetty, ja yhtäläisyysmerkit ovat linjassa.

PowerShell ISE + ISE Plugin [ISESteroids]

Asennus:
Install-Module -Name ISESteroids

ISE toimii:
Aloitussteroidit





K: Mitä työkaluja käytät tehdäksenne koodiväristä kaunista?
A:
1 Käytä yllä olevia työkaluja koodin muotoiluun.
2 Käytä PowerShellise + Missionary DIY Color Matching 2016 Editionia.
3 Ota kuva. Maailman miellyttävin ja kaunein väritetty PowerShell-koodi tuotetaan mukaan.

Kaikki yllä mainitut IDE:t ovat kiinaksi.




K: Miten nimeän käsikirjoituksen? xxx.ps1
A:
Suositellaan aloittamaan 1---2 kirjaimella ja käyttämään kiinalaista tiedostonimeä loput. Eli [poikaystävä varmuuskopioi kaikki vanhat files_ ja poistaa .ps1 10 päivän takaa]
Näin kirjoita ensin [bf] ja paina sitten tab-nappia saadaksesi skriptin nimen valmiiksi.




K: Kuinka otan PowerShell-skriptin suoritusoikeuden käyttöön?
A:
echo Seuraava koodi voidaan suorittaa komentojärjestelmässä ylläpitäjän oikeuksilla tai PowerShellissä ylläpitäjän oikeuksilla.
Echo, jos käytät PowerShelliä etäohjauksella. Sekä paikallinen että etäkone on suoritettava ylläpitäjän oikeuksilla.
"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -komento "Set-ExecutionPolicy -ExecutionPolicy Rajoittamaton"
"C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -komento "Set-ExecutionPolicy -ExecutionPolicy Rajoittamaton"
& "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -komento "Set-ExecutionPolicy -ExecutionPolicy Rajoittamaton"
& "C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -komento "Set-ExecutionPolicy -ExecutionPolicy Unrestricted"
tauko



K: Mitkä ovat veturin (powergui) haitat?
A:
Taustaväriä ei voi asettaa.




K: Mitkä ovat vscoden haitat?
A:
$ ja muuttujan nimi eivät ole samaa väriä.
Debuggausfunktiot ovat hitaita ja joskus jumittuneita.




K: Mitkä ovat ISE:n haitat?
A:
Et voi tallentaa tai muuntaa koodausta.
Sisennys [välilyöntiin], [tab] molempiin. Toisissa tekstinmuokkausohjelmissa sisennys näytetään.




---------- Luku 8 Varsinainen taisteluharjoitus --------------
Yhtye 6504748 ja kirjoitti tämän osan itse.

5. Esimerkki 1: Kytke palvelu päälle ja pois
6. Esimerkki 2: Ohjauspalomuuri (Avaa, Sulje, Sääntö)
7. Esimerkki 3: Aseta käytäntö (esimerkiksi salasanapolitiikka)



---------- Luku 9 Nämä lisävalinnaiset kurssit kiinnostavatko sinua? --------------
PowerShell-skripti, komentoriviargumentit välittävät arvoja ja sidontamuuttujien esimerkkejä
http://www.cnblogs.com/piapia/p/5910255.html




Anna PowerShellin ajaa vain yhtä skriptiä kerrallaan (esimerkki prosessien keskinäisestä poissulkemisesta)
http://www.cnblogs.com/piapia/p/5647205.html



PowerShell-merkkiliittymä, PowerShell plus WPF-liitäntä, 2048-peli
http://www.cnblogs.com/piapia/p/5531945.html


Kaksi crawleria PowerShellissä
http://www.cnblogs.com/piapia/p/5367556.html



PowerShell-skripti: Satunnaissalasanageneraattori
http://www.cnblogs.com/piapia/p/5184114.html



Esimerkki PowerShell-rekursiivisesta algoritmista
http://www.cnblogs.com/piapia/archive/2013/01/29/2881011.html



PowerShell-äänilaskuri
http://www.cnblogs.com/piapia/archive/2012/10/20/2731506.html



1 Listaa kaikki EFS-salatut tiedostot. 2Pura kaikki EFS-salatut tiedostot
http://www.cnblogs.com/piapia/p/4702514.html
Se on järjestelmänvalvojille ja verkon ylläpitäjille suunnattu työkalu.
Kun työntekijä lähtee työpaikaltaan, hänen levynsä olettaa, että tiedostoja on 10 000 (hakemistoa), joista kolme on EFS:llä salattuja tiedostohakemistoja. Explorerissa nämä kolme tiedostoa ovat vihreitä.
Mutta jos klikkaat (10 000 luetteloa) yksi kerrallaan, oli se sitten vihreä tai ei, olet uupunut.
Tällöin verkon ylläpitäjä käyttää työntekijän WIN-tiliä, kirjautuu työntekijän tietokoneelle ja käyttää tätä skriptiä listatakseen kaikki EFS-salatut tiedostot.


---------- Luku 10 Kysy jotain--------------
Hyvät naiset ja herrat, jos on jotain raportoitavaa, poistukaa oikeudesta ilman mitään.



----------Luku 11 Linux-luku--------------

Missionary: Kunhan pystyt asentamaan PowerShellin Linux-version, tarvitset vain PS1-skriptejä, ei sh-skriptejä.
Tulkinta:
1 Lyhyesti sanottuna bashissa on vain syntaksi, ei komentoja eikä kirjastoja.
2 Bashissa on vain 1 % syntaksifunktioita, PowerShell ei pysty toteuttamaan sitä. Tämä on normaalia, mikään ei ole täysin samanlainen maailmassa.
Tämä tarkoittaa, että tarvitset vain PS1-skriptin, ei sh:tä.
3 bashin käyttö on liian vanha, sama toiminto, Powershell voidaan toteuttaa, ja se voi myös säästää aikaa, esimerkiksi 10 000 tyhjää forsia, Powershellin täytyy säästää 90 % ajasta.
4 Opettele käyttämään /usr/bin/powershell /usr/bin/bashin sijaan. Muita Linux-komentoja, putkistoja, vanhoja kung fuja jne. käytetään täsmälleen samalla tavalla kuin bashissa.
5 Käytä vähitellen oliopohjaisia, yksinkertaisia ja tehokkaita PowerShell-komentoja ja kirjastoja aivopolttavien Linux-komentojen sijaan, tai molempia. ---Tämä on yleinen periaate, yleiskuva.


K: Mitkä Linux-versiot voivat asentaa PowerShellin?
A:
◦Ubuntu 14.04 / 16.04
◦CentOS/RHEL 7 ja uudemmat
◦avaa SUSE 42 ja ylöspäin
◦Arch Linux (archl inuxilla ei ole versionumeroa)
◦LINUX-docker-kontti
◦Linux AppImage -kontti (kannettava sovellus, yksi binääri) https://github.com/probonopd/AppImageKit





K: Miksi sanotaan, että winin komentorivi on vahvempi kuin Linux?
A:
1 winin komennot ovat kehittyneet oliopohjaiseksi PowerShelliksi. Linux ei vielä toimi. Win7:stä win2012r2:een kehitys päättyy.

2 Kuulin ennen, että Unixissa on paljon Linux-komentoja ja se on erittäin tehokas. Mutta nyt sanon, että powershell-komennot ovat vähintään kymmenen kertaa enemmän kuin Linuxin komennot. Joka tapauksessa, en ole oppinut koko elämäni aikana.

3 Linux on enemmän graafiriippuvainen, sillä komentoja on liian vähän. Ja win-komento on paljon enemmän kuin pelkkä Linux.
3.1 Missä tahansa Linuxissa sähköpostipalvelimen komennot ovat yhä täydellisempiä kuin Exchangessa? Kätevämpää kuin vaihto?
3.2 Linuxin DNS-palvelinsidonta ei ole yhtä kätevä kuin winin DNS-komento. Onko bindillä [komento] lisätä IPv4 A -tietue verkkotunnukseen? Etkö ole vielä riippuvainen verkkografiikoista?
Jotkut sanovat, että käytä nsupdatea. Kyse ei ole tekstin tekemisestä ja sitten tekstin ajamisesta. Mikä on ero siinä, että [DNS-aluetiedosto] korvataan sedillä ja ladataan [DNS-alue]?

4 Uudessa win-versiossa, eli PowerShellissä, kaikki on [komento + parametri]. Ja suurin osa Linuxista on edelleen [sed-teksti].
4.1 Otetaan esimerkiksi verkkokortille annettu IP-osoite.
NMCLI-yhteys add type ethernet con-name NEW_STATIC ifname eno1234567 ip4 192.168.1.111 gw4 192.168.1.1,
Eikö se ole kätevämpää kuin SED:n käyttäminen ifcfg-eth0-tiedoston kaapaamiseen?

5 Mikä tahansa kieli käsittelee dataa, samoin skriptaus. Objektien avulla PowerShell on kätevämpi kuin awk. Shenma csv, excel, xml, json
SQL-taulukko, nosql-taulukko. html jne.




K: Miten PowerShell toteuttaa [sed -i "s/what to look/replace with /g" -tiedostonimi]?
A:
@(Get-Content -tiedostonimi) -korvaa 'aaa','bbb' | Set-Content -tiedostonimi $aaa
Eli avaa tiedosto, korvaa se, tallenna tiedosto.



K: Miksi yhä harvempi käyttää SED:ää Linuxissa?
A:
Argumentti 1: AWK voi korvata SED:n, mutta SED ei voi korvata AWK:ta.
sed, eli yksinkertaisesti etsi korvaus. AWK:lla on ja vastaavat monimutkaisen prosessoinnin toteuttamiseen.

Argumentti 2: AWK käyttää standardia säännöllistä, ja sedin säännöllinen on sama kuin sedissä, mutta osat ovat erilaiset.
SED:n oppiminen tarkoittaa, että kaksi yhteensopimatonta normaalista standardiryhmää aivoissa taistelee keskenään.



K: Onko siis oikein oppia AWK?
A:
PowerShellin oppiminen on helpompaa kuin AWK:n oppiminen.
PowerShell käyttää [split and then split], [if and if], where-object, string.substing(), string[-3] jne.
Pilko merkkijonoongelma kerros kerrokselta. Yksinkertaisempi kuin epämääräinen tavallinen.




K: Voidaanko putkistoja ja AWK:ta käyttää PowerShellissä?
A:
Voit kutsua awk:n PowerShellissä, täsmälleen samalla tavalla kuin Bashissa. Vanhat kamppailulajit ovat täysin Torinon kaltaisia.



K: Kuinka toteuttaa [awk '{print $3}'] -toiminto PowerShellissä?
A:
($line -split "\s+|\t+") [0] #第一行
($line -split "\s+|\t+") [2] #第三行       

Hanki sisältöä /xxx/yyy.txt | foreach-object {$_.split()[2]} #awk '{print $3}'


K: Kuinka toteuttaa [awk -f a.awk file] -toiminto PowerShellillä?
A:
Käytännössä tämä on suodatusfunktio, joka käyttää putkea. PowerShellissä tätä kutsutaan suodattimeksi tai suodattimeksi.
PowerShell tukee komentojen + putki + suodattimen yhdistelmää. Kuten komento 1 | Suodatin 1 | Komento 2 | Suodatin 2 | Suodatin 3
Suodatinsuodatin1
{
AWK-tyyppinen toiminnallisuus
}





K: Onko PowerShellissä [xargs]?
A:
Putkessa käytetty putkimuuttuja on nimeltään [$psitem], ja sen alias on [$_].
PowerShell käyttää foreach-objectia ja $_ xargs-funktion toteuttamiseen.





K: Onko PowerShellissä [<] [<<] numeroa?
A:
Ei.
Ehkä [<] symboli oikealta vasemmalle on ihmisvastainen ajattelu. Monet PowerShellin komennot on muutettu vasemmalta oikealle.
Jos get-random < (1..100) ei ole laillinen PowerShellissä, laillisen tulisi olla get-random -inputobject (1..100), tai 1. 100 |get-random
Alle 1 % oudoista komennoista [on] riippuvainen [<]-symbolista, mikä onnistuu kutsumalla cmd PowerShellissä tai bash (PowerShell for Linux) PowerShellissä.
Esimerkiksi $a = bash -x "komento 1 < komento 2" #linux
Esimerkiksi $a = cmd -c "komento 1 < komento 2" #cmd




K: Onko PowerShellissä expecte-komentoa? Kuinka yhdistää Linux-SSH-palvelimeen Winistä PowerShellin avulla?
A:
1. Kyllä. Joihinkin outoihin ja osittaisiin ovivastetarpeisiin on olemassa kolmannen osapuolen moduuleja.
2 Ei. PowerShell ei käytä expect-komentoa, vaan käyttää istuntoa.

Käytä Powershelliä + SSH-asiakaskirjastoa + IP + portti + käyttäjätunnus + salasana yhdistääksesi yhteyden ja lähettääksesi komentoja tälle yhteydelle. Koodi on seuraava:
$connection 1 = New-SSHSession -ComputerName 1.1.1.1 -Portti 22 -Credential aaaa #将提示输入密码
$to return = Invoke-SSHCommand -Komento {cat /etc/issue} -SSHSession $Connection 1

Tämä vakiotoiminto, kuten (MongoDB, mysql, ssh, ftp, http, telnet jne.) sisältää ajureita tai moduuleja. ps ja. .netprogram, ajuriyhteyden kautta, lähetä komentoja ja hyväksy dataa.
Moduulien tai ajureiden käytön hyödyt [datan] lähettämiseen ja vastaanottamiseen ovat:
Data muunnetaan .net-objektiksi, joka puolestaan muunnetaan PS-objektiksi. Muuten kaikki on naruja, ja PS-lahkon [olio-orientoituneet kamppailulajit] ovat täysin hyödyttömiä.


Ottaen MongoDB:n esimerkkinä, mitkä ovat moduulien tai ajureiden käytön edut komentojen lähettämiseen? Kuka puhuu?
Koen, että hyödyt ovat:
1 Monisäikeinen käyttö. Taustasäie pyörii eikä sijaitse nykyistä säiettä.
2. Voimme [irtautua puoliväliin] istunnosta milloin tahansa, suorittaa muuta PS-koodia, toimintoja ja [palata istuntoon milloin tahansa]. Skriptit ovat joustavampia kirjoittaa ja helppo debugata.
3session tuo mukanaan useita käyttäjiä, ja eri käyttäjillä voi olla erilaiset palvelinoikeudet.




K: Onko powershellissä su, runas -komento? Kuinka ajaa toisen käyttäjän komento PowerShellillä?
A:
Ei.
PowerShellissä Linuxin natiivikomentojen ja putkien ajaminen on vaivatonta. Esimerkiksi:
sshaaa@127.0.0.1"Suoritettu käyttäjän AAA-oikeuksilla, komento xxx"  
sshpass -p user_password sshaaa@192.168.1.1



K: Kaksi Linux-konetta SSHD:llä? Kuinka yhdistää ja lähettää komentoja PowerShellillä?
A:
Edellä mainitun menetelmän lisäksi voit käyttää myös uuden Linux-istunnon luomista. (Yhdistetty Linuxista toiseen SSHD:hen)
Huomautus: Tämä menetelmä vaatii /etc/ssh/sshd_config-tiedoston muokkaamista. Lisää seuraava rivi
Alijärjestelmä powershell powershell -sshs -NoLogo -NoProfile
Sen jälkeen käynnistä SSHD-palvelin uudelleen.
Yksityiskohtainen käyttöohje löytyy täältä:
https://github.com/PowerShell/PowerShell/tree/master/demos/SSHRemoting

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


Yhteenveto:
Win-asiakas, yhdistetty Linux-palvelimeen. Tällä hetkellä vaaditaan kolmannen osapuolen moduuleja, tietenkin tämä on moduuli virallisessa kirjastossa, käytä vain asennusmoduulia PoshSSH.
Linux-asiakas, joka on yhdistetty Linux-palvelimeen. Sinun täytyy muokata /etc/ssh/sshd_config-tiedostoa.
Linux-asiakas, yhdistetty Win-palvelimeen. Sinun täytyy ottaa palvelu käyttöön palvelimella. Luota palvelimeen asiakkaalla.
Win-asiakas, yhdistettynä Win-palvelimeen. Sinun täytyy ottaa palvelu käyttöön palvelimella. Luota palvelimeen asiakkaalla.


K: Onko PowerShellissä [grep]?
A:
Select-string-komentoa käytetään powershellissä.
Pelkästään koodauksen näkökulmasta select-string=smart, grep=stupid + on kova virhe :mrgreen:
Kun on olemassa BOM-otsikko, select-string tunnistaa automaattisesti tiedostokoodaustyypin.
Kun BOM-otsikkoa ei ole, shell-ympäristöä ei tarvitse muuttaa kuten linux+grep, eikä tiedostoja tarvitse tallentaa tietyn koodin mukaan. Sinun tarvitsee vain määrittää -encoding -parametri tiedostokoodauksen mukaan.
Ja grepillä ei ole tätä funktiota, eli on kova virhe [tiedostokoodaustyyppiä ei voi määrittää].
Tietenkään grep ei ole hyödytön, grepillä on joitain parametreja, siinä on lisäuniikkeja funktioita, select-stringillä ei ole, tässä grep on vahvempi kuin select-string.



K: Onko PowerShellissä [arviointi]?
A:
Käytä Invoke-Expressionia suorittaaksesi merkkijonoja PowerShellissä.



K: Onko PowerShellissä häntä -f? On mahdollista tuottaa tiedoston uudet rivit reaaliajassa.
A:
Get-Content D:\a.txt -Tail 10 -Lukumäärä: 0 -Odota



K: Haluan käyttää pientä näppäimistöä ja myös 256-värisen päätteen, joten miten xshell pitäisi asentaa?
A:
Terminaali --- Terminaalityyppi --- [putty-256color] tai [export TERM=putty-256color]
Terminal --- Keyboard --- oletus tai Linux.

Eterm-256color voi
gnome-256color ei toimi
konsole-256color ei toimi
Putty-256color
PowerShell Missionary Alkuperäinen jako 2017-02-15
RXVT-256COLOR ei toimi
screen-256color ei toimi
ST-256COLOR
VTE-256COLOR ei toimi
xterm-256color ei toimi
Sama periaate pätee SecureCRT:hen




K: Kumpi on voimakkaampi, shell vai python?
A:
Jokaisella on omat vahvuutensa ja ne voivat täydentää toisiaan. Mutta ne eivät ole toisiaan täydentäviä. Lisää tästä alla.


K: Miksi PowerShellin Linux-versio sopii paremmin operaatio- ja ylläpitohenkilöstölle skriptien kirjoittamiseen? (Verrattuna Pythonin Linux-versioon)
A:
1 Pythonissa on olio-orientoituja funktioita, ja PowerShellin Linux-versio on saatavilla.

2 Pythonilla ei ole komentoriviä.
2.1 Python ei voi olla SSH:n oletusterminaali, mutta PowerShell Linuxille voi. Katso luku: "Kaksi Linux-konetta SSHD:llä? Kuinka yhdistää ja lähettää komentoja PowerShellillä? 》
2.2 Shell-komentojen (awk, grep jne.) käyttö Pythonissa on hyvin hankalaa. Tarvitsen paljon py-syntaksia ja koodia. PowerShell Linuxille suorittaa awk-komennot aivan kuten bash.

3 Pythonissa ei ole putkia. On hyvin hankalaa siirtää arvoja n [komentoriviohjelman] välillä. Tarvitsen paljon py-syntaksia ja koodia. PowerShellin Linux-versiossa on putket, ja awk-komentojen ajaminen on sama kuin bash.

4 Pythonilla on versio 2, versio 3 ei ole yhteensopiva Cancerin kanssa! Kysymys. PowerShell for Linuxissa ei ole tällaista ongelmaa.
4.1 Nämä kysymykset sisältävät koodausongelmia.

Yhteenveto:
Shell-komennot kuten GREP eivät ole hyviä koodaustukeen, eivät yhtä hyviä kuin yllä mainitut 4.1-koodiongelmat PowerShellissä kotona. Lisäksi yllä olevat 2,3 pistettä.
Se saa Linux-ihmiset tuntemaan olonsa epämukavaksi, mutta hyvin harva käyttää ulkoisia komentoja py:ssä. [py command library] ja [shell command] ovat kuolleet eivätkä käytännössä voi täydentää toisiaan. PS:n Linux-versio on erilainen.




K: Miksi sanotaan, että powershell on parempi kuin shell?
A:
1 PowerShell on oliopohjainen, ja ominaisuudet palauttavat suoraan saatavilla olevat tiedot. Tämä on paljon harvinaisempaa kuin merkkiskriptikielissä (Bat, Shell), jotka vaativat merkkijonojen vähennyksiä.
Syntynyt vähemmällä [sisällöllä, josta täytyy paeta].
2 Merkkijonohakukorvaus, PowerShellissä on metodeja, jotka eivät vaadi pakenemista, .NET-luokassa. Esimerkiksi:
[string]$a = 'abc\\def'
$b = $a.korvaa('\\','kun')
#返回: [ABC def]
IP:n laillisuuden selvittämiseksi voit käyttää TryParse()-metodia IPAddress-luokassa.
Lyhyesti sanottuna ehdotukseni on käyttää mahdollisimman monia .net-metodeja, käyttää mahdollisimman vähän regexiä tai käyttää yksinkertaisia säännöllisiä menetelmiä.
3 PowerShell käyttää ['] pakomerkkinä. ['] on harvemmin käytetty kuin [\] ja paljon harvemmin pakosymbolina.
3.1 Tietokantaskriptejä kirjoittaessa on enemmän ristiriitoja ['].
Esimerkiksi ['table'] on ristiriidassa ['t:n] kanssa, kuten ['biao'] on ristiriidassa ['b:n] kanssa, ja myöhemmin ratkaisin sen ['table'] kanssa.
4 ps:n merkkijonojen haku ja korvaus, siinä on tavallinen moottori, yhteensopiva Linuxin kanssa ja käyttää myös [\]-tiedostoa pakokeinona.
Kuitenkin on olemassa erityinen merkkijonon pakotoiminto [[Regex]::Escape()], joka ensin poistetaan ja sitten löydetään ja korvataan, ja koodi on erittäin luettava.
$Original merkkijono ennen escapea = '\+\&*|]'
$escaped merkkijono = [regex]::escape($original merkkijono ennen escapingia)
-------------
Käsikirjoitusesimerkkejä
[string]$a = 'abc\\def'
$Original merkkijono ennen pakoa = '\'
$Escaped merkkijono = [regex]::Escape($Original merkkijono ennen pakoa) #[\]--->[\\]
$b = [Regex]::replace($a,$Escaped String, 'kun')
$b #返回 [ABC Dangdang DEF]
-------------
5 bash ja awk, jokaisella on omansa, jokaisella on oma pakokeinonsa. Yhdessä A:n on helppo vaikuttaa B:hen, ja A nielee B:n.
On myös helppoa kohdata ongelmia kohdatessaan ['], ["], [\] ja [*].
Se on kuin käyttäisit kahta kerrosta pitkiä housuja, vedät toisen kerroksen ja toinen kerros liikkuu, sinun täytyy huolehtia niiden yhteensopivuudesta.
Tämä on syöpä ja vaikea ratkaista.
Mutta nipistys, tätä ongelmaa voidaan myös välttää jossain määrin. Tämä vaatii, että kuoren kirjoittaja korjaa haisevan ongelman.
[Laita awk-koodi .awk-tiedostoon erikseen, älä komentoriville]
PowerShellissä tätä ongelmaa ei ole, laita se komentoriville, laita skriptiin, sillä ei ole vaikutusta.








Edellinen:.net/C# käyttää attribuutteja toteuttaakseen yksinkertaisen AOP:n
Seuraava:.net/c# Speedy IP Open Port Scanner v2.0 Ultimate Version
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com