PowerShell 指令掌握指南 (Get-Command, Get-Alias, Get-Member)
2022-01-12
筆記如何使用 PowerShell Get-Command, Get-Alias 以及 Get-Member 熟悉 PowerShell 指令以及物件使用方式。
說明
Get-Alias
取得 Cmdlet 的縮寫,熟記縮寫能夠提升使用 PowerShell 的便利性。
下列是實用的 Alias
Command | Alias | Usage |
---|---|---|
Get-Alias | gal | 取得所有的縮寫 |
Get-Command | gcm | 取得所有的指令 |
Get-ChildItem | dir | 顯示資料夾及檔案 |
Get-Content | type | 印出檔案內容 |
Get-Item | gi | 取得檔案資訊 |
Get-Location | pwd | 顯示目前路徑 |
Get-PSDrive | gdr | 取得磁碟資訊 |
Get-Module | gmo | 取得模組資訊 |
Get-Variable | gv | 取得變數資訊 |
Get-Process | ps | 取得Process資訊 |
Get-Service | gsv | 取得Service資訊 |
Get-Command
取得所有可以執行的 Command,可以在搭配 Get-Alias 或是 Get-Help 確認是否有 Alias 可以使用。
get-alias | ? {$_.Definition -like 'get*'}
get-help get-alias
# gal
Get-Member
取得 Object 所有的 Method 與 Property,認識你的物件,活用你的物件。
應用情境
取得資料夾安全性
直接使用 Out-GridView 進行 Preview
Dir -Directory | Get-ACL | OGV
將資料以 Json 格式匯出,但目前尚不是完美的格式
Dir -Directory `
| % { GET-ACL $_.Name | SELECT path, access | CONVERTTO-JSON} `
| OUT-FILE C:\temp\acl.json
{
"Path": "Microsoft.PowerShell.Core\\FileSystem::D:\\Web\\Upload",
"Access": [
{
"FileSystemRights": 1245631,
"AccessControlType": 0,
"IdentityReference": "BUILTIN\\IIS_IUSRS",
"IsInherited": false,
"InheritanceFlags": 3,
"PropagationFlags": 0
},
{
"FileSystemRights": 1179817,
"AccessControlType": 0,
"IdentityReference": "BUILTIN\\IIS_IUSRS",
"IsInherited": true,
"InheritanceFlags": 3,
"PropagationFlags": 0
}
}