| README.md | ||
posh-Commands
Help
Get-Command *Service* поиск команды по имени 
Get-Help Get-Service синтаксис 
Get-Service | Get-Member отобразить Method (действия: Start, Stop), Property (объекты вывода: Status, DisplayName), Event (события объектов: Click) и Alias 
Get-Alias ps 
Get-Verb действия, утвержденные для использования в командах 
Set-ExecutionPolicy Unrestricted 
Get-ExecutionPolicy
ping
Test-Connection -Count 1 $srv1, $srv2 отправить icmp-пакет двум хостам 
Test-Connection $srv -ErrorAction SilentlyContinue не выводить ошибок, если хост не отвечает 
Test-Connection -Source $srv1 -ComputerName $srv2 пинг с удаленного компьютера
nslookup
Resolve-DnsName ya.ru -Type MX ALL,ANY,A,NS,SRV,CNAME,PTR,TXT(spf)
port
tnc $srv -p 5985 
tnc $srv -CommonTCPPort WINRM # HTTP,RDP,SMB 
tnc ya.ru –TraceRoute -Hops 2 # TTL=2 
tnc ya.ru -DiagnoseRouting # маршрутизация до хоста, куда (DestinationPrefix: 0.0.0.0/0) через (NextHop: 192.168.1.254)
ipconfig
Get-NetIPConfiguration 
Get-NetAdapter 
Get-NetAdapterAdvancedProperty 
Get-NetAdapterStatistics
Route
Get-NetRoute
Netstat
Get-NetTCPConnection -State Established,Listen | where LocalAddress -match "192.168"
Hash
Get-Filehash -Algorithm SHA256 "$env:USERPROFILE\Documents\RSA.conf.txt"
Clipboard
Set-Clipboard $srv скопировать в буфер обмена 
Get-Clipboard вставить
Array
$srv = @("server-01", "server-02")  создать массив 
$srv += @("server-03") добавить в массив новый элемент 
$srv.Count отобразить кол-во элементов в массиве 
Out-String построчный вывод
Index
$srv[0] вывести первое значение элемента массива 
$srv[0] = Name замена элемента в массиве 
$srv[0].Length узнать кол-во символов первого значения в массиве 
$srv[10..100] срез
PSCustomObject
$obj = @() 
$obj += [PSCustomObject]@{User = $env:username; Server = $env:computername} медленный метод добавления, в каждой интерации перезаписывается массив и коллекция становится фиксированного размера (Collection was of a fixed size)
$Collections = New-Object System.Collections.Generic.List[System.Object] 
$Collections.Add([PSCustomObject]@{User = $env:username; Server = $env:computername})
Get-Service | Select Name,DisplayName,Status,StartType | Export-csv -path "$home\Desktop\Get-Service.csv" -Append -Encoding Default экспортировать в csv (-Encoding UTF8) 
Import-Csv "$home\Desktop\Get-Service.csv" -Delimiter "," импортировать массив
Pipeline
$obj | Add-Member -MemberType NoteProperty -Name "Type" -Value "user" -Force добавление объкта вывода NoteProperty 
$obj | Add-Member -MemberType NoteProperty -Name "User" -Value "admin" -Force изменеие содержимого для сущности объекта User 
ping $srv | Out-Null перенаправить результат вывода в Out-Null
Variable
$var = Read-Host "Enter" ручной ввод 
$pass = Read-Host "Enter Password" -AsSecureString скрывать набор 
$global:path = "\\path" задать глобальную переменную, например в функции 
$using:srv использовать переменную текущей сесси в Invoke-сессии 
Get-Variable отобразить все переменные 
Get-Variable *srv* найти переменную по имени 
Get-Variable -Scope Global отобразить все глобальные переменные 
Get-Variable Error последняя команда с ошибкой 
Remove-Variable -Name * очистить все переменные 
$LASTEXITCODE содержит код вывода последней запущенной программы, например ping. Если код возврата положительный (True), то $LastExitCode = 0