Zana zote
Bila Malipo

Marejeleo ya PowerShell yanayoweza kutafutwa na kuchapishwa — cmdlets, pipeline, vigeu, faili, vitanzi, vitendakazi, vitu na utawala. Bila malipo.

Kupata msaada na ugunduzi

12
Get-Help Get-Process
Onyesha msaada kwa cmdlet
Get-Help Get-Process -Examples
Onyesha mifano ya matumizi kwa cmdlet
Get-Help Get-Process -Full
Onyesha msaada kamili ikijumuisha vigezo
Get-Help about_Functions
Soma mada ya kidhana ya about_
Update-Help
Pakua faili za msaada za hivi karibuni
Get-Command -Noun Process
Orodhesha cmdlets zinazotenda kwenye noun
Get-Command -Verb Get
Orodhesha cmdlets zinazotumia verb fulani
Get-Command *service*
Tafuta amri kwa jina la wildcard
Get-Process | Get-Member
Orodhesha properties na methods za objects
Get-Alias ls
Onyesha amri ambayo alias inatatua
Get-Alias -Definition Get-ChildItem
Orodhesha aliases zote za cmdlet
$PSVersionTable
Onyesha toleo na toleo la PowerShell

Vigeu na aina

13
$x = 5
Weka thamani kwa kigeu
[int]$n = '42'
Tangaza kigeu chenye aina madhubuti
$null
Thamani ya null / tupu
$true; $false
Literals za boolean
$arr = @(1, 2, 3)
Tengeneza array
$arr += 4
Ambatisha kipengele kwenye array
$arr[0]; $arr[-1]
Index vipengele vya kwanza na vya mwisho vya array
$hash = @{ Name = 'Ann'; Age = 30 }
Tengeneza hashtable
$hash['Name']; $hash.Name
Soma thamani ya hashtable kwa key
$env:PATH
Soma kigeu cha mazingira
$env:MY_VAR = 'value'
Weka kigeu cha mazingira kwa kipindi
Get-Variable
Orodhesha vigeu vyote vilivyotangazwa
[math]::Round(3.14159, 2)
Ita method tuli ya .NET

Pipeline na uchujaji

12
Get-Process | Where-Object { $_.CPU -gt 10 }
Chuja objects kwa sharti
Get-Process | ? CPU -gt 10
Chuja kwa alias ya ? na sintaksia iliyorahisishwa
Get-Process | ForEach-Object { $_.Name }
Endesha script block kwa kila object
Get-Process | % { $_.Kill() }
Pitia kwa alias ya %
Get-Process | Select-Object Name, Id
Hifadhi properties maalum pekee
Get-Process | Select-Object -First 5
Chukua objects N za kwanza
Get-Process | Sort-Object CPU -Descending
Panga objects kwa property
Get-Process | Group-Object Company
Panga objects kwa makundi kwa property
Get-Process | Measure-Object CPU -Sum
Jumlisha thamani za nambari (jumla, wastani)
Get-ChildItem | Select-Object -Unique
Rudisha objects tofauti
1..5 | ForEach-Object { $_ * 2 }
Pipe fungu kupitia ubadilishaji
Get-Process | Out-GridView
Tuma matokeo kwenye grid ya mwingiliano

Faili na njia

13
Get-ChildItem -Path C:\Logs
Orodhesha vitu kwenye saraka (alias ls/dir)
Get-ChildItem -Recurse -Filter *.log
Orodhesha faili zinazolingana kwa rejea
Get-Content .\file.txt
Soma file mstari kwa mstari
Get-Content .\file.txt -Tail 20
Soma mistari N ya mwisho ya faili
Set-Content .\file.txt -Value 'Hi'
Andika (badilisha) maandishi kwenye faili
Add-Content .\file.txt -Value 'Hi'
Ambatisha maandishi kwenye faili
Copy-Item a.txt b.txt
Nakili faili au saraka
Move-Item a.txt .\dir\
Hamisha au badilisha jina la kitu
Remove-Item a.txt -Force
Futa faili au saraka
New-Item -ItemType Directory -Path .\dir
Tengeneza faili au saraka mpya
Test-Path .\file.txt
Angalia ikiwa njia ipo
Get-Location
Onyesha saraka ya sasa (alias pwd)
Set-Location C:\Temp
Badilisha saraka ya sasa (alias cd)

Strings na maandishi

12
'Hello World' -match 'World'
Jaribu string dhidi ya regex
'Hello' -replace 'l', 'L'
Badilisha maandishi ukitumia regex
'a,b,c' -split ','
Gawanya string kuwa array kwa regex
'a-b-c'.Split('-')
Gawanya ukitumia method ya .NET String
'a', 'b' -join ', '
Unganisha vipengele vya array kuwa string
Select-String -Path *.log -Pattern 'error'
Utafutaji wa mtindo wa grep katika faili
'{0} of {1}' -f 3, 10
Fomati string kwa placeholders
' hi '.Trim()
Ondoa nafasi ya mwanzo na mwisho
'Hello'.ToUpper()
Badilisha string kuwa herufi kubwa
'Hello'.Substring(0, 3)
Toa substring kwa index na urefu
'Hello'.Contains('ell')
Jaribu ikiwa string ina maandishi
'Hello'.Length
Pata idadi ya herufi

Loops na masharti

12
if ($x -gt 0) { 'pos' } elseif ($x -eq 0) { 'zero' } else { 'neg' }
Tawi kwa if / elseif / else
switch ($x) { 1 { 'one' } default { 'other' } }
Linganisha thamani dhidi ya kesi
foreach ($i in $arr) { $i }
Pitia mkusanyiko
for ($i = 0; $i -lt 5; $i++) { $i }
Loop ya kuhesabu yenye index
while ($x -lt 10) { $x++ }
Loop wakati sharti ni kweli
do { $x++ } while ($x -lt 10)
Loop angalau mara moja, kisha jaribu
$x -eq 5; $x -ne 5
Ulinganishi wa sawa na usio sawa
$x -gt 5; $x -lt 5
Ulinganishi wa zaidi-ya na chini-ya
$x -ge 5; $x -le 5
Ulinganishi wa zaidi/chini-ya-au-sawa
'abc' -like 'a*'
Ulinganishi wa mechi ya wildcard
@(1, 2, 3) -contains 2
Jaribu uanachama wa array
break; continue
Toka au ruka mzunguko wa loop wa sasa

Functions na scripts

12
function Get-Sum { param($a, $b) $a + $b }
Tafsiri function yenye vigezo
Get-Sum -a 2 -b 3
Ita function kwa hoja zenye majina
function Test { param([int]$n = 1) }
Kigezo chenye aina na thamani chaguo-msingi
param([Parameter(Mandatory)]$Name)
Hitaji kigezo kitolewe
return $value
Rudisha thamani kutoka function
function F { [CmdletBinding()] param() }
Tengeneza function ya hali ya juu (vigezo vya kawaida)
Write-Verbose 'msg' -Verbose
Toa mtiririko wa ujumbe wa kina
Write-Output $result
Tuma object kwenye pipeline
Write-Error 'failed'
Andika kwenye mtiririko wa makosa
.\script.ps1 -Arg value
Endesha faili la script na hoja
. .\functions.ps1
Dot-source script kwenye kipindi
try { } catch { $_ } finally { }
Shughulikia makosa yanayokomesha

Objects na properties

12
Get-Process | Select-Object -ExpandProperty Name
Rudisha thamani ghafi za property, si objects
(Get-Process).Name
Fikia property kwenye kila object
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { $_.WS / 1MB } }
Ongeza property iliyokokotolewa
[PSCustomObject]@{ Name = 'Ann'; Age = 30 }
Jenga object maalum
$obj | Add-Member -NotePropertyName Tag -NotePropertyValue 'x'
Ambatisha property kwenye object
$obj.PSObject.Properties.Name
Orodhesha majina ya properties za object
$obj | Format-Table -AutoSize
Onyesha objects kama jedwali lililopangwa
$obj | Format-List *
Onyesha properties zote kama orodha
$obj | ConvertTo-Json -Depth 5
Serialize object kuwa JSON
Get-Content data.json | ConvertFrom-Json
Changanua JSON kuwa objects
$obj | Export-Csv out.csv -NoTypeInformation
Export objects kwenye faili la CSV
Import-Csv data.csv
Soma faili la CSV kuwa objects

Michakato na huduma

12
Get-Process
Orodhesha michakato inayoendesha (alias ps)
Get-Process -Name chrome
Pata michakato kwa jina
Stop-Process -Name notepad -Force
Komesha mchakato
Start-Process notepad.exe
Zindua mchakato mpya
Get-Service
Orodhesha huduma za Windows
Get-Service -Name wuauserv
Pata huduma kwa jina
Start-Service -Name wuauserv
Anzisha huduma iliyosimamishwa
Stop-Service -Name wuauserv
Simamisha huduma inayoendesha
Restart-Service -Name wuauserv
Anzisha upya huduma
Set-Service -Name wuauserv -StartupType Manual
Badilisha hali ya kuanza ya huduma
Get-EventLog -LogName System -Newest 20
Soma ingizo za hivi karibuni za event-log za kawaida
Get-WinEvent -LogName Application -MaxEvents 20
Uliza event logs za kisasa

Remoting na kazi

12
Enter-PSSession -ComputerName Srv01
Anza kipindi cha mbali cha mwingiliano
Exit-PSSession
Ondoka kwenye kipindi cha mbali cha mwingiliano
Invoke-Command -ComputerName Srv01 -ScriptBlock { Get-Service }
Endesha amri kwenye host ya mbali
$s = New-PSSession -ComputerName Srv01
Tengeneza kipindi cha mbali kinachodumu
Invoke-Command -Session $s -ScriptBlock { hostname }
Tumia tena kipindi cha mbali kilichopo
Remove-PSSession $s
Funga na ondoa kipindi cha mbali
Start-Job -ScriptBlock { Get-Process }
Endesha amri kama kazi ya nyuma
Get-Job
Orodhesha kazi za nyuma na hali zao
Receive-Job -Id 1 -Keep
Pata matokeo ya kazi
Wait-Job -Id 1
Zuia hadi kazi ikamilike
Stop-Job -Id 1; Remove-Job -Id 1
Simamisha na ondoa kazi ya nyuma
Get-Process | Start-ThreadJob { $input }
Endesha kazi nyepesi za thread ndani ya mchakato

Moduli na vifurushi

12
Get-Module
Orodhesha moduli zilizopakiwa sasa
Get-Module -ListAvailable
Orodhesha moduli zote zilizosakinishwa
Import-Module Pester
Pakia moduli kwenye kipindi
Remove-Module Pester
Pakua moduli kutoka kipindi
Find-Module -Name PSReadLine
Tafuta moduli kwenye gallery
Install-Module PSReadLine -Scope CurrentUser
Sakinisha moduli kutoka gallery
Update-Module PSReadLine
Sasisha moduli iliyosakinishwa
Uninstall-Module PSReadLine
Ondoa moduli iliyosakinishwa
Get-ExecutionPolicy
Onyesha sera ya sasa ya utekelezaji wa script
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Ruhusu scripts zilizosainiwa na za ndani kuendesha
Get-PSRepository
Orodhesha hazina za vifurushi zilizosanidiwa
$PROFILE
Njia ya script ya wasifu wa mtumiaji wa sasa

Hakuna kipengele kinacholingana na “:q”.


Unahitaji msaada?
Umepata tatizo na zana hii? Tujulishe timu yetu.
Ripoti tatizo

Ongeza zana hii ya bure kwenye tovuti yako mwenyewe — nakili na ubandike msimbo ulio hapa chini.