Перейти к содержимому
davidka.net > 💻 🧠 Код 1001 > 📑 Шпаргалки > шпаргалки PowerShell > ⚡ Шпаргалка по командам Powershell. Продвинутые команды

⚡ Шпаргалка по командам Powershell. Продвинутые команды

  • автор:

🔹 Работа с объектами .NET

Команда / КонцептОписаниеПример
[Math]::Pow(2,3)Вызов статического метода .NET[Math]::Sqrt(81)
New-ObjectСоздание объектаNew-Object System.Text.StringBuilder
[System.IO.File]::ReadAllText()Чтение файла[System.IO.File]::ReadAllText("file.txt")
[DateTime]::NowДата и время[DateTime]::UtcNow
$env:PATHДоступ к переменным окружения$env:USERNAME

🔹 WMI и CIM (админ-инструменты)

КомандаОписаниеПример
Get-WmiObjectПолучить объект WMIGet-WmiObject Win32_OperatingSystem
Get-CimInstanceНовый вариант (CIM)Get-CimInstance Win32_Processor
Invoke-CimMethodВызов метода CIMInvoke-CimMethod -InputObject (Get-CimInstance Win32_Process -Filter "Name='notepad.exe'") -MethodName Terminate
New-CimSessionСессия для удалённого управленияNew-CimSession -ComputerName Server01

🔹 Фоновые задачи и асинхронность

КомандаОписаниеПример
Start-JobЗапустить задачу в фонеStart-Job -ScriptBlock { Get-Process }
Get-JobПосмотреть джобыGet-Job
Receive-JobПолучить результатReceive-Job -Id 1
Remove-JobУдалить задачуRemove-Job -Id 1
Start-ThreadJobЛёгкие джобы (PS 6+)Start-ThreadJob { Get-Date }

🔹 Ремоутинг (удалённое управление)

КомандаОписаниеПример
Enter-PSSessionПодключение к удалённой машинеEnter-PSSession -ComputerName Server01 -Credential Admin
Invoke-CommandВыполнение команд удалённоInvoke-Command -ComputerName Server01 -ScriptBlock { Get-Process }
New-PSSessionСоздать persistent-сессиюNew-PSSession -ComputerName Server01
Get-PSSessionСписок сессийGet-PSSession
Remove-PSSessionЗакрыть сессиюRemove-PSSession -Id 1

🔹 Работа с данными

КомандаОписаниеПример
ConvertTo-JsonВ PowerShell → JSON`Get-Process
ConvertFrom-JsonJSON → PowerShell`Get-Content data.json
Export-CsvЭкспорт в CSV`Get-Service
Import-CsvИмпорт из CSVImport-Csv services.csv
Out-FileЗаписать в файл`Get-Process

🔹 Регулярные выражения

ПриёмПримерРезультат
Поиск"hello123" -match "\d+"$true
Замена"abc123" -replace "\d+", "XXX"abcXXX
ИзвлечениеSelect-String -Pattern "error" logfile.txtНайдёт строки с «error»

🔹 Безопасность и пользователи

КомандаОписаниеПример
Get-LocalUserСписок локальных пользователейGet-LocalUser
New-LocalUserСоздать пользователяNew-LocalUser "TestUser" -Password (Read-Host -AsSecureString)
Add-LocalGroupMemberДобавить в группуAdd-LocalGroupMember -Group "Administrators" -Member "TestUser"
Get-ACLПрава доступа к файлуGet-ACL file.txt
Set-ACLИзменить права доступаSet-ACL file.txt $acl

🔹 Сетевые трюки

КомандаОписаниеПример
Resolve-DnsNameDNS-запросResolve-DnsName google.com
Get-NetTCPConnectionTCP-сессииGet-NetTCPConnection -State Established
Get-NetFirewallRuleПравила файрволаGet-NetFirewallRule
New-NetFirewallRuleСоздать правилоNew-NetFirewallRule -DisplayName "Allow 8080" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080

🔹 Сценарии и автоматизация

ПриёмПример
Запуск скрипта.\script.ps1
Параметры в скриптеparam([string]$Name, [int]$Age)
Try/Catchtry { 1/0 } catch { "Error: $_" }
Trap (старый способ)trap { "Error: $_" ; continue }
ЛогированиеStart-Transcript -Path log.txt
ЗавершениеExit 1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *