Tài liệu tham khảo nhanh PowerShell
Tài liệu tham khảo PowerShell có thể tìm kiếm và in được — cmdlet, pipeline, biến, tệp, vòng lặp, hàm, đối tượng và quản trị. Miễn phí.
Getting help & discovery
12Get-Help Get-Process
Get-Help Get-Process -Examples
Get-Help Get-Process -Full
Get-Help about_Functions
Update-Help
Get-Command -Noun Process
Get-Command -Verb Get
Get-Command *service*
Get-Process | Get-Member
Get-Alias ls
Get-Alias -Definition Get-ChildItem
$PSVersionTable
Variables & types
13$x = 5
[int]$n = '42'
$null
$true; $false
$arr = @(1, 2, 3)
$arr += 4
$arr[0]; $arr[-1]
$hash = @{ Name = 'Ann'; Age = 30 }
$hash['Name']; $hash.Name
$env:PATH
$env:MY_VAR = 'value'
Get-Variable
[math]::Round(3.14159, 2)
Pipeline & filtering
12Get-Process | Where-Object { $_.CPU -gt 10 }
Get-Process | ? CPU -gt 10
Get-Process | ForEach-Object { $_.Name }
Get-Process | % { $_.Kill() }
Get-Process | Select-Object Name, Id
Get-Process | Select-Object -First 5
Get-Process | Sort-Object CPU -Descending
Get-Process | Group-Object Company
Get-Process | Measure-Object CPU -Sum
Get-ChildItem | Select-Object -Unique
1..5 | ForEach-Object { $_ * 2 }
Get-Process | Out-GridView
Files & paths
13Get-ChildItem -Path C:\Logs
Get-ChildItem -Recurse -Filter *.log
Get-Content .\file.txt
Get-Content .\file.txt -Tail 20
Set-Content .\file.txt -Value 'Hi'
Add-Content .\file.txt -Value 'Hi'
Copy-Item a.txt b.txt
Move-Item a.txt .\dir\
Remove-Item a.txt -Force
New-Item -ItemType Directory -Path .\dir
Test-Path .\file.txt
Get-Location
Set-Location C:\Temp
Strings & text
12'Hello World' -match 'World'
'Hello' -replace 'l', 'L'
'a,b,c' -split ','
'a-b-c'.Split('-')
'a', 'b' -join ', '
Select-String -Path *.log -Pattern 'error'
'{0} of {1}' -f 3, 10
' hi '.Trim()
'Hello'.ToUpper()
'Hello'.Substring(0, 3)
'Hello'.Contains('ell')
'Hello'.Length
Loops & conditionals
12if ($x -gt 0) { 'pos' } elseif ($x -eq 0) { 'zero' } else { 'neg' }
switch ($x) { 1 { 'one' } default { 'other' } }
foreach ($i in $arr) { $i }
for ($i = 0; $i -lt 5; $i++) { $i }
while ($x -lt 10) { $x++ }
do { $x++ } while ($x -lt 10)
$x -eq 5; $x -ne 5
$x -gt 5; $x -lt 5
$x -ge 5; $x -le 5
'abc' -like 'a*'
@(1, 2, 3) -contains 2
break; continue
Functions & scripts
12function Get-Sum { param($a, $b) $a + $b }
Get-Sum -a 2 -b 3
function Test { param([int]$n = 1) }
param([Parameter(Mandatory)]$Name)
return $value
function F { [CmdletBinding()] param() }
Write-Verbose 'msg' -Verbose
Write-Output $result
Write-Error 'failed'
.\script.ps1 -Arg value
. .\functions.ps1
try { } catch { $_ } finally { }
Objects & properties
12Get-Process | Select-Object -ExpandProperty Name
(Get-Process).Name
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { $_.WS / 1MB } }
[PSCustomObject]@{ Name = 'Ann'; Age = 30 }
$obj | Add-Member -NotePropertyName Tag -NotePropertyValue 'x'
$obj.PSObject.Properties.Name
$obj | Format-Table -AutoSize
$obj | Format-List *
$obj | ConvertTo-Json -Depth 5
Get-Content data.json | ConvertFrom-Json
$obj | Export-Csv out.csv -NoTypeInformation
Import-Csv data.csv
Processes & services
12Get-Process
Get-Process -Name chrome
Stop-Process -Name notepad -Force
Start-Process notepad.exe
Get-Service
Get-Service -Name wuauserv
Start-Service -Name wuauserv
Stop-Service -Name wuauserv
Restart-Service -Name wuauserv
Set-Service -Name wuauserv -StartupType Manual
Get-EventLog -LogName System -Newest 20
Get-WinEvent -LogName Application -MaxEvents 20
Remoting & jobs
12Enter-PSSession -ComputerName Srv01
Exit-PSSession
Invoke-Command -ComputerName Srv01 -ScriptBlock { Get-Service }
$s = New-PSSession -ComputerName Srv01
Invoke-Command -Session $s -ScriptBlock { hostname }
Remove-PSSession $s
Start-Job -ScriptBlock { Get-Process }
Get-Job
Receive-Job -Id 1 -Keep
Wait-Job -Id 1
Stop-Job -Id 1; Remove-Job -Id 1
Get-Process | Start-ThreadJob { $input }
Modules & packages
12Get-Module
Get-Module -ListAvailable
Import-Module Pester
Remove-Module Pester
Find-Module -Name PSReadLine
Install-Module PSReadLine -Scope CurrentUser
Update-Module PSReadLine
Uninstall-Module PSReadLine
Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Get-PSRepository
$PROFILE
Không có mục nào khớp với “:q”.
Giới thiệu về Tài liệu tham khảo nhanh PowerShell
Bảng tra cứu PowerShell này bao gồm shell từ khám phá đến tự động hóa: trợ giúp và khám phá, biến và kiểu dữ liệu, pipeline và lọc, tệp và đường dẫn, chuỗi và văn bản, vòng lặp và điều kiện, hàm và script, đối tượng và thuộc tính, tiến trình và dịch vụ, remoting và job, cùng module và gói.
PowerShell khác với các shell kiểu POSIX vì pipeline mang theo đối tượng, không phải văn bản — nên bảng dựa vào các cmdlet khám phá và các mẫu lọc đối tượng giúp mô hình đó trở nên dễ hiểu, cùng với các lệnh tệp, chuỗi và tiến trình mà quản trị viên dùng hằng ngày.
Bảng này miễn phí và chạy phía client. Lọc cmdlet trực tiếp bằng ô tìm kiếm, nhảy giữa các phần từ mục lục cố định, sao chép bất kỳ lệnh nào chỉ bằng một cú click và in trang ra cho một tài liệu tham khảo bên cạnh console.
Cách sử dụng Tài liệu tham khảo nhanh PowerShell
- Bắt đầu với Getting help & discovery — các cmdlet ở đó cho phép bạn khám phá mọi thứ khác.
- Tìm một động từ hoặc danh từ như Get-, service hoặc foreach để lọc bảng trực tiếp.
- Nhảy đến một phần như Pipeline & filtering hoặc Remoting & jobs qua thanh bên cố định.
- Nhấp vào một lệnh hoặc biểu tượng sao chép của nó để sao chép vào phiên PowerShell của bạn.
- In bảng để có tài liệu tham khảo cmdlet ngoại tuyến.