Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Ji hêla dîrokî ve, karûbarên rêza fermanê li ser pergalên Unix ji Windows-ê çêtir pêşkeftî ne, lê bi hatina çareseriyek nû re, rewş guherî.

Windows PowerShell destûrê dide rêvebirên pergalê ku piraniya karên rûtîn otomatîk bikin. Bi wê re, hûn dikarin mîhengan biguhezînin, karûbaran rawestînin û dest pê bikin, û her weha li ser piraniya serîlêdanên sazkirî jî lênihêrînê bikin. Dê xelet be ku meriv pencereya şîn wekî wergêrek fermanek din were fêm kirin. Ev nêzîkatî cewhera nûbûnên ku ji hêla Microsoft ve hatî pêşniyar kirin nîşan nade. Bi rastî, îmkanên Windows PowerShell pir firehtir in: di rêzek kurt a gotaran de, em ê hewl bidin ku fêhm bikin ka çareseriya Microsoft-ê çawa ji amûrên ku em pê re nas dikin cûda dibe.

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Taybetmendiyên sereke 

Bê guman, Windows PowerShell di serî de şêlekek nivîsandinê ye, bi eslê xwe li ser .NET Framework û paşê li ser .NET Core hatî çêkirin. Berevajî şêlên ku daneya nivîsê dipejirînin û vedigerînin, Windows PowerShell bi çînên .NET yên xwedî taybetmendî û rêbazan re dixebite. PowerShell dihêle hûn emrên hevpar bimeşînin û di heman demê de bigihîjin tiştên COM, WMI, û ADSI jî. Ew depoyên cihêreng, wekî pergala pelan an qeyda Windows-ê, ji bo gihîştina ku jê re tê gotin bikar tîne. pêşkêşkeran. Hêjayî balkişandinê ye ku îhtîmala vehewandina pêkhateyên darvekirî yên PowerShell di serîlêdanên din de ji bo pêkanîna operasyonên cihêreng, di nav de. bi navgînek grafîkî. Berevajî vê yekê jî rast e: gelek serîlêdanên Windows-ê bi navgîniya PowerShell-ê ve gihîştina navgînên rêveberiya xwe peyda dikin. 

Windows PowerShell destûrê dide te ku:

  • Mîhengên pergala xebitandinê biguherînin;
  • Karûbar û pêvajoyan birêve bibin;
  • Rol û pêkhateyên serverê mîheng bikin;
  • Sazkirina nivîsbariyê;
  • Nermalava sazkirî bi navgînên taybetî ve bi rê ve bibin;
  • Parçeyên pêkandî di bernameyên partiya sêyemîn de bicîh bikin;
  • Skrîptan biafirînin ku karên rêveberiyê otomatîk bikin;
  • Bi pergala pelan, qeydkirina Windows, dikana sertîfîkayê, hwd re bixebitin.

Shell û hawîrdora pêşveçûnê

Windows PowerShell bi du awayan heye: ji bilî emulatora konsolê ya bi qalikek fermanê re, hawîrdorek nivîsê ya yekbûyî (ISE) heye. Ji bo gihîştina pêwendiya rêzika fermanê, tenê ji pêşeka Windows-ê kurtebirra guncan hilbijêrin an ji menuya Run powershell.exe-ê bişopînin. Dê pencereyek şîn li ser ekranê xuya bibe, ku di kapasîteyên xwe de ji cmd.exe antediluvian cuda ye. Ji bo pergalên Unix-ê ji bo bikarhênerên şêlên fermanê nasîn û taybetmendiyên din hene.

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Ji bo ku hûn bi şêlê re bixebitin, hûn hewce ne ku hin kurteyên klavyeyê bi bîr bînin:

  • Tîrên jor û jêr li dîrokê digerin da ku emrên berê hatine nivîsandin dubare bikin;
  • Tîra rastê ya li dawiya rêzê karaktera fermana berê bi karakter ji nû ve dinivîse;
  • Ctrl+Home metna çapkirî ji cîhê nîşangir heya destpêka rêzê jê dike;
  • Ctrl+End nivîsê ji rêzê heya dawiya rêzê jê dike.

F7 pencereyek bi fermanên têketinê nîşan dide û dihêle hûn yek ji wan hilbijêrin. Konsol di heman demê de bi hilbijartina nivîsê ya bi mişkê, kopî-past, pozîsyona nîşankerê, jêbirin, paşverû - her tiştê ku em jê hez dikin dixebite.

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Windows PowerShell ISE jîngehek pêşkeftinê ya bêkêmasî ye ku bi edîtorek kodê ya tabel û hevoksazkirî, çêkerê fermanê, debugger-ya çêkirî, û kêfên din ên bernamekirinê heye. Ger hûn li dû navê fermanê di edîtorê hawîrdora pêşkeftinê de defek binivîsin, hûn ê hemî vebijarkên berdest di navnîşa dakêşanê de bi nîşanek celebê bistînin. Hûn dikarin PowerShell ISE bi navgîniya kurtebirek ji pêşeka pergalê, an jî bi karanîna pelê darvekirî powershell_ise.exe dest pê bikin.

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Cmdlets 

Di Windows PowerShell de, bi navê. cmdlets. Ev dersên .NET yên pispor in ku cûrbecûr fonksiyonan peyda dikin. Navê wan Action-Object (an Verb-Noun, heke hûn bixwazin) têne binav kirin, û girêka veqetandî-veqetandî di hevokên zimanê xwezayî de dişibihe pêşgotin û bireserê. Mînakî, Get-Help bi rastî tê wateya "Get-Help", an jî di çarçoveyek PowerShell de: "Alîkarî nîşan bide". Di rastiyê de, ev analoga fermana mêrê di pergalên Unix-ê de ye, û destanên di PowerShell de divê bi vî rengî werin xwestin, ne bi gazîkirina cmdlets bi bişkoka --help an /?. Belgeyên serhêl PowerShell ji bîr nekin: Microsoft ew pir berfireh heye.

Ji bilî Get, cmdlet di heman demê de lêkerên din jî bikar tînin da ku çalakiyan destnîşan bikin (û ne tenê lêkeran, bi hişkî diaxivin). Di lîsteya jêrîn de em çend mînakan bidin:

Add - lê zêde bike;
Clear - paqij;
Enable - vekirin;
Disable - veqetandin;
New - afirandin;
Remove - jêbirin;
Set - pirsîn;
Start - run;
Stop - rawestandin;
Export - hinardekirin;
Import - import.

Pergal, bikarhêner û cmdletên vebijarkî hene: wekî encamek darvekirinê, ew hemî tiştek an komek tiştan vedigerînin. Ew ne hesas in, yanî. Ji nêrîna wergêrê fermanê, di navbera Get-Help û Get-help de ti cûdahî tune. Sembola ';' ji bo veqetandinê tê bikaranîn, lê ew tenê hewce ye ku çend cmdlet li ser yek rêzê bêne darve kirin. 

cmdletên Windows PowerShell di modulan de têne kom kirin (NetTCPIP, Hyper-V, hwd.), û cmdletek Get-Command heye ku li gorî tişt û çalakiyê bigere. Hûn dikarin alîkariyê ji bo vê yekê nîşan bidin:

Get-Help Get-Command

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Bi xwerû, ferman alîkariyê kurt nîşan dide, lê li gorî hewcedariyê parametre (arguman) ji cmdlets re têne şandin. Bi alîkariya wan, hûn dikarin, mînakî, alîkariya hûrgulî (parametre -Berfireh) an tam (parametre -Temam) bistînin, û her weha mînakan nîşan bidin (parametre -Nimûne):

Get-Help Get-Command -Examples

Alîkarî di Windows PowerShell de bi cmdlet Update-Help tê nûve kirin. Ger rêzek fermanan pir dirêj derkeve, argumanên cmdlet dikarin bi nivîsandina karaktera karûbarê '`' û tikandina Enter veguhezînin ya din - tenê nivîsandina fermanek li ser rêzek û berdewamkirina li ser rêzek din dê nexebite.

Li vir çend mînakên cmdletên hevpar hene: 

Get-Process - pêvajoyên xebitandinê di pergalê de nîşan bide;
Get-Service - karûbar û rewşa wan nîşan bide;
Get-Content - naveroka pelê nîşan bide.

Ji bo cmdletên ku pir caran têne bikar anîn û karûbarên derveyî, Windows PowerShell hevwateyên kurt hene - navnav (ji îngilîzî. Navnîşan). Mînakî, dir navek ji bo Get-ChildItem e. Navnîşa hevwateyan di heman demê de analogên fermanên ji pergalên Unix (ls, ps, hwd.) jî vedihewîne, û cmdlet Get-Help bi fermana alîkariyê tê gazî kirin. Navnîşek bêkêmasî ya hevwateyan dikare bi karanîna cmdlet-a Get-Alias ​​were dîtin:

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Skrîpt, Fonksiyon, Modul, û Zimanê PowerShell

Nivîsarên Windows PowerShell wekî pelên nivîsê yên sade bi dirêjkirina .ps1 têne hilanîn. Hûn nekarin wan bi du-tikandina wan bidin destpêkirin: hûn hewce ne ku rast-klîk bikin da ku menuya çarçoveyê bang bikin û xala "Run in PowerShell" hilbijêrin. Ji konsolê, hûn ê yan neçar in ku riya tevahî ya skrîptê diyar bikin, an jî biçin pelrêça guncan û navê pelê binivîsin. Skrîpta xebitandinê ji hêla polîtîkaya pergalê ve jî sînorkirî ye, û ji bo kontrolkirina mîhengên heyî, hûn dikarin cmdleta Get-ExecutionPolicy bikar bînin, ku dê yek ji van nirxan vegerîne:

Restricted - xebitandina nivîsan qedexe ye (ji hêla xwerû);
AllSigned - tenê skrîptên ku ji hêla pêşdebirek pêbawer ve hatî îmze kirin destûr têne xebitandin;
RemoteSigned - destûr dane ku nivîsarên îmzekirî û xwedan bimeşînin;
Unrestricted - destûr da ku hûn her skrîptê bimeşînin.

Rêveber du vebijark hene. Ya herî ewledar îmzekirina nivîsan e, lê ev sêrbaziyek pir ciddî ye - em ê di gotarên pêşerojê de pê re mijûl bibin. Niha em rêya herî kêm berxwedanê bigrin û siyasetê biguherînin:

Set-ExecutionPolicy RemoteSigned

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Ji bo vê yekê, hûn ê neçar bibin ku PowerShell-ê wekî rêveberek bimeşînin, her çend hûn dikarin pîvanek taybetî bikar bînin da ku polîtîkaya bikarhênerê heyî biguhezînin.

Skrîpt bi zimanekî bernamesaziyê-objekt-oriented têne nivîsandin, fermanên ku li gorî heman prensîbê cmdletên ku berê hatine nîqaş kirin têne nav kirin: "Action-Object" ("Verb-Noun"). Armanca wê ya sereke ew e ku karûbarên rêveberiyê bixweber bike, lê ew zimanek şîrovekirî ya bêkêmasî ye ku xwedan hemî avahîyên pêdivî ye: bazdana şertî, xelek, guhêrbar, rêzik, nesne, birêvebirina xeletiyan, hwd. Her edîtorek nivîsê ji bo nivîsandina nivîsan maqûl e, lê ji bo xebitandina Windows PowerShell ISE herî hêsan e.

Hûn dikarin parameteran ji skrîptê re derbas bikin, wan hewce bikin, û nirxên xwerû destnîşan bikin. Wekî din, Windows PowerShell destûrê dide we ku hûn fonksiyonên bi heman rengî wekî cmdlets biafirînin û gazî bikin, bi karanîna avakirina Fonksiyon û brayên çîçek. Skrîpta bi fonksiyonan jê re modul tê gotin û pêvekek .psm1 heye. Pêdivî ye ku modul di pelrêçikên ku di guhêrbarên hawîrdorê yên PowerShell de hatine destnîşankirin de werin hilanîn. Hûn dikarin wan bi fermana jêrîn bibînin:

Get-ChildItem Env:PSModulePath | Format-Table -AutoSize

Veyehrker

Di mînaka paşîn de, me avahiyek ku ji bikarhênerên şêlê Unix re nas e bikar aniye. Di Windows PowerShell-ê de, barika vertîkal jî dihêle hûn hilberîna yek fermanê derbasî têketina fermanek din bikin, lê di cîbicîkirina boriyê de cûdahiyek girîng heye: em êdî li ser komek tîpan an cûreyek nivîstok. cmdlet-yên çêkirî an fonksiyonên diyarkirî yên bikarhêner tiştan an rêzikên tiştan vedigerînin, û dikarin wan jî wekî têketinê bistînin. Mîna şêlê Bourne û gelek peykerên wê, PowerShell bi boriyekê re karên tevlihev hêsantir dike.

Mînaka boriyê ya herî hêsan wiha xuya dike:

Get-Service | Sort-Object -property Status

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Pêşî, cmdleta Get-Service tê darve kirin, û dûv re hemî karûbarên ku ji hêla wê ve hatine wergirtin ji bo veqetandina ji hêla taybetmendiya Rewşê ve ji cmdleta Sort-Object re têne şandin. Kîjan argumana ku encama beşa berê ya boriyê tê derbas kirin bi celebê wê ve girêdayî ye - bi gelemperî ew InputObject e. Ev mijar dê di gotarek ku ji bo zimanê bernamenûsê PowerShell ve hatî veqetandin bi hûrgulî were nîqaş kirin. 

Ger bixwaze, hûn dikarin zincîrê bidomînin û encama Sort-Object derbasî cmdletek din bikin (ew ê ji çepê ber bi rastê ve werin darve kirin). Bi awayê, bikarhênerên Windows-ê di heman demê de xwedan sêwirana ku ji hemî Unixoid-an re naskirî ye ji bo hilberîna rûpel-rûpel jî heye: 

Get-Service | Sort-Object -property Status | more

Karên di paşerojê de dixebitin 

Pir caran, pêdivî ye ku meriv fermanek di paşerojê de bimeşîne, da ku di danişîna şêlê de li benda encama pêkanîna wê nemîne. Windows PowerShell ji bo vê rewşê çend cmdlet hene:

Start-Job - destpêkirina peywirek paşîn;
Stop-Job - karê paşnavê rawestînin;
Get-Job - navnîşa karên paşîn bibînin;
Receive-Job - dîtina encama karekî paşîn;
Remove-Job - jêbirina peywirek paşîn;
Wait-Job - veguheztina peywira paşîn vegere konsolê.

Ji bo destpêkirina peywirek paşîn, em cmdlet-a Start-Job bikar tînin û fermanek an komek fermanan di brayên çîçek de diyar dikin:

Start-Job {Get-Service}

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Karên paşîn ên di Windows PowerShell-ê de bi zanîna navên wan dikarin werin manipulandin. Pêşîn, em fêr bibin ka meriv çawa wan nîşan dide:

Get-Job

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Naha em encama Job1 nîşan bidin:

Receive-Job Job1 | more

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Her tişt pir hêsan e.

Pêkanîna fermana dûr

Windows PowerShell destûrê dide te ku hûn ne tenê li ser komputera herêmî, lê di heman demê de li ser komputerek dûr, û tewra li ser tevahî komek makîneyan jî ferman û nivîsan bicîh bikin. Gelek awayên ku vê yekê bikin hene:

  • Gelek cmdlet xwedî pîvanek in -ComputerName, lê bi vî rengî ew ê ne gengaz be, wek nimûne, çêkirina veguhezek;
  • Cmdlet Enter-PSSession dihêle hûn li ser makîneyek dûr rûniştinek înteraktîf biafirînin; 
  • Bikaranîna cmdlet Invoke-Command Hûn dikarin li ser yek an jî çend komputerên dûr ferman an nivîsan bimeşînin.

Guhertoyên PowerShell

Ji destpêka serbestberdana xwe ya 2006-an vir ve, PowerShell gelek guherî. Amûr ji bo gelek pergalên ku li ser platformên hardware yên cihêreng dixebitin hene (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012/2012 R2, Windows 10, Windows Server 2016, GNU/Linux û OS X. Daxuyaniya herî dawî 6.2 di 10 Çile 2018 de derket. Skrîptên ku ji bo guhertoyên berê hatine nivîsandin pir îhtîmal e ku di yên paşîn de bixebitin, lê dibe ku pirsgirêk bi veguheztinek berevajî derkevin holê, ji ber ku di salên pêşkeftinê de, hejmareke mezin cmdletên nû di PowerShell de derketine. Hûn dikarin guhertoya qalika fermanê ya ku li ser komputera we hatî saz kirin bi karanîna taybetmendiya PSVersion ya guhêrbara çêkirî ya $PSVersionTable fêr bibin:

$PSVersionTable.PSVersion

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Her weha hûn dikarin cmdlet bikar bînin:

Get-Variable -Name PSVersionTable –ValueOnly

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke
Heman tişt bi Get-Host cmdlet re jî tê kirin. Bi rastî, gelek vebijark hene, lê ji bo ku hûn wan bikar bînin hûn hewce ne ku zimanê bernamenûsê PowerShell fêr bibin, ya ku em ê di nav de bikin. gotara paşîn

Encam 

Microsoft kariye ku bi hawîrdorek yekbûyî ya hêsan a ji bo pêşkeftina nivîsan şêlekek bi rastî hêzdar biafirîne. Ew ji amûrên ku di cîhana Unix-ê de ji me re naskirî bi yekbûna kûr a bi pergalên xebitandinê yên malbata Windows-ê re, û hem jî bi nermalava wan û platforma .NET Core re cûda dibe. PowerShell dikare wekî şêlek-objekt-oriented were binav kirin ji ber ku cmdlet û fonksiyonên ji hêla bikarhêner ve hatî destnîşan kirin tiştan an rêzikên tiştan vedigerînin û dikarin wan wekî têketinê bigirin. Em difikirin ku hemî rêvebirên serverê yên li ser Windows-ê divê xwediyê vê amûrê bin: wext derbas bûye ku ew dikarin bêyî rêzika fermanê bikin. Bi taybetî pêvekek konsolê ya pêşkeftî pêdivî ye VPS-ya meya erzan ku Windows Server Core dimeşîne, lê ew çîrokek bi tevahî cûda ye.

Windows PowerShell çi ye û bi çi tê xwarin? Beş 1: Taybetmendiyên sereke

Tenê bikarhênerên qeydkirî dikarin beşdarî anketê bibin. Têketinji kerema xwe.

Di gotarên paşerojê yên rêzenivîsê de divê pêşî li kîjan mijaran were girtin?

  • 53,2%Bernamekirin di PowerShell123 de

  • 42,4%Fonksiyonên PowerShell98 û Modul

  • 22,1%Meriv çawa nivîsarên xwe îmze dike?51

  • 12,1%Bi navgîniya pêşkêşkeran bi depoyan re dixebitin28

  • 57,6%Bi karanîna PowerShell133 rêveberiya komputerê bixweber bikin

  • 30,7%Rêvebiriya nermalavê û bicîkirina kargêrên PowerShell di hilberên sêyemîn de71

231 bikarhêneran deng dan. 37 bikarhêner jî betal bûn.

Source: www.habr.com

Add a comment