This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
program_lang:powershell_misc [2021/12/05 21:20] manu [sort in Powershell] |
program_lang:powershell_misc [2022/11/18 17:45] (current) manu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Powershell misc ====== | ====== Powershell misc ====== | ||
| + | |||
| + | ===== Powershell man page ===== | ||
| + | |||
| + | List all commands, you can add as parameter **-examples** **-full** **-detailed** | ||
| + | <cli prompt='>'> | ||
| + | PS /home/manu> get-command * | ||
| + | ... | ||
| + | PS /home/manu> get-command *service* | ||
| + | </cli> | ||
| + | |||
| + | List Get-Command cmdlet with an alias | ||
| + | <cli prompt='>'> | ||
| + | PS> Get-Command -Name dir | ||
| + | CommandType Name ModuleName | ||
| + | ----------- ---- ---------- | ||
| + | Alias dir -> Get-ChildItem | ||
| + | </cli> | ||
| + | |||
| + | List all commands from a specific module | ||
| + | <cli prompt='>'> | ||
| + | PS /home/manu> get-command -module activedirectory | ||
| + | </cli> | ||
| + | |||
| + | This command gets all of the cmdlets, sorts them alphabetically by the noun in the cmdlet name, and then displays them in noun-based groups: | ||
| + | <cli prompt='>'> | ||
| + | PS > Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun | ||
| + | </cli> | ||
| + | |||
| + | uses the All parameter of the Get-Command cmdlet to show all instances of the Notepad command on the local computer. | ||
| + | <cli prompt='>'> | ||
| + | PS> Get-Command Notepad -All | Format-Table CommandType, Name, Definition | ||
| + | |||
| + | CommandType Name Definition | ||
| + | ----------- ---- ---------- | ||
| + | Application notepad.exe C:\WINDOWS\system32\notepad.exe | ||
| + | Application NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE | ||
| + | </cli> | ||
| + | |||
| + | Man page | ||
| + | <cli prompt='>'> | ||
| + | PS /home/manu> get-help Write-Progress | ||
| + | |||
| + | NAME | ||
| + | Write-Progress | ||
| + | | ||
| + | SYNTAX | ||
| + | Write-Progress [-Activity] <string> [[-Status] <string>] [[-Id] <int>] [-PercentComplete <int>] [-SecondsRemaining <int>] [-CurrentOperation <string>] [-ParentId <int>] [-Completed] [-SourceId <int>] | ||
| + | [<CommonParameters>] | ||
| + | </cli> | ||
| + | |||
| + | Commands alias | ||
| + | <cli prompt='>'> | ||
| + | PS /home/manu> get-alias | ||
| + | </cli> | ||
| + | |||
| + | ===== Remove header/descriptor ===== | ||
| + | |||
| + | <cli prompt='>'> | ||
| + | PS /root> Get-VM lnx01a | ForEach-Object {$_.Name} | ||
| + | lnx01a | ||
| + | </cli> | ||
| ===== Upper / Lower ===== | ===== Upper / Lower ===== | ||
| Line 78: | Line 139: | ||
| vm4 | vm4 | ||
| vm5 | vm5 | ||
| + | </cli> | ||
| + | |||
| + | ===== grep in Powershell ===== | ||
| + | |||
| + | <cli prompt='#'> | ||
| + | PS /usr/bin/fcm/tmp> Get-Content -Path vminfo.txt | Where-Object { $_ -Match "^VM_Datastore:"} | ||
| </cli> | </cli> | ||
| Line 131: | Line 198: | ||
| 0 0.00 1418.94 44.16 14488 237 okular | 0 0.00 1418.94 44.16 14488 237 okular | ||
| 0 0.00 2072.61 3317.51 2071 071 X | 0 0.00 2072.61 3317.51 2071 071 X | ||
| - | 0 0.00 6548.90 33021.09 6754 063 VirtualBoxVM | + | 0 0.00 6548.90 33021.09 6754 063 VirtualBoxVM |
| + | PS> Get-Process | ft name,starttime | ||
| + | xdg-document-po 25/12/21 07:49:32 | ||
| + | xdg-permission- 25/12/21 07:49:32 | ||
| + | xembedsniproxy 25/12/21 07:49:30 | ||
| + | xfs_mru_cache 25/12/21 07:45:06 | ||
| + | xfs-buf/sda4 25/12/21 07:45:06 | ||
| </cli> | </cli> | ||
| Line 149: | Line 223: | ||
| </cli> | </cli> | ||
| + | | Sort-Object -Unique : only one occurrence of each word | ||
| + | | Sort-Object : string sort | ||
| + | | Sort-Object {[int]$_} : integer sort | ||
| + | -CaseSensitive ... | ||
| + | -Descending | ||
| - | + | ===== Misc commands ===== | |
| - | | + | |
| + | ==== tail ==== | ||
| + | |||
| + | get last 5 lines from file | ||
| + | <cli prompt='>'> | ||
| + | PS> Get-Content -path /root/toto.py -tail 5 | ||
| + | |||
| + | PS> get-content |select -last 5 | ||
| + | |||
| + | PS> get-content |select -last 5 | Write-Output | ||
| + | </cli> | ||
| + | |||
| + | ==== head ==== | ||
| + | |||
| + | get first 5 lines from file | ||
| + | <cli prompt='>'> | ||
| + | PS> Get-Content -path /root/toto.py -totalcount 5 | ||
| + | </cli> | ||