PowerShell команди для адміністратора Windows: топ-20
8 хв читання
Найкорисніші PowerShell команди для системного адміністрування Windows: управління користувачами, процесами, мережею і службами.
PowerShell потужніший за CMD для адміністрування. Ось 20 команд які реально використовуються в роботі.
Управління користувачами
# Список всіх локальних користувачів
Get-LocalUser
# Створити користувача
$pass = ConvertTo-SecureString "Password123!" -AsPlainText -Force
New-LocalUser -Name "john" -Password $pass -FullName "John Smith"
# Додати до групи адмінів
Add-LocalGroupMember -Group "Administrators" -Member "john"
# Вимкнути користувача
Disable-LocalUser -Name "john"
# Видалити користувача
Remove-LocalUser -Name "john"
Управління процесами
# Топ-10 процесів по CPU
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, CPU, Id
# Топ-10 по RAM (МБ)
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 Name, @{N="RAM(MB)";E={[Math]::Round($_.WorkingSet/1MB)}}
# Зупинити процес
Stop-Process -Name "notepad" -Force
# Зупинити по ID
Stop-Process -Id 1234 -Force
Управління службами
# Список запущених служб
Get-Service | Where-Object {$_.Status -eq "Running"}
# Зупинити службу
Stop-Service -Name "wuauserv"
# Запустити службу
Start-Service -Name "wuauserv"
# Змінити тип запуску
Set-Service -Name "wuauserv" -StartupType Disabled
Мережа
# IP-адреси всіх адаптерів
Get-NetIPAddress | Select-Object InterfaceAlias, IPAddress, PrefixLength
# Таблиця маршрутизації
Get-NetRoute | Select-Object DestinationPrefix, NextHop, InterfaceAlias
# Тест підключення (аналог ping)
Test-NetConnection google.com
# Відкриті порти
Get-NetTCPConnection | Where-Object {$_.State -eq "Listen"} | Select-Object LocalPort, OwningProcess
Диски і файли
# Місце на дисках
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{N="Free(GB)";E={[Math]::Round($_.Free/1GB,1)}}, @{N="Used(GB)";E={[Math]::Round(($_.Used)/1GB,1)}}
# Знайти великі файли (більше 100 МБ)
Get-ChildItem C:\ -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Length -gt 100MB} | Sort-Object Length -Descending | Select-Object FullName, @{N="Size(MB)";E={[Math]::Round($_.Length/1MB)}}
Оновлення Windows
# Перевірити оновлення (потрібен модуль PSWindowsUpdate)
Install-Module PSWindowsUpdate -Force
Get-WindowsUpdate
# Встановити всі оновлення
Install-WindowsUpdate -AcceptAll -AutoReboot
Системна інформація
# Коли останній раз перезавантажувались
(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
# Серійний номер ПК
(Get-CimInstance Win32_BIOS).SerialNumber
# Модель процесора
(Get-CimInstance Win32_Processor).Name
# Обсяг RAM
[Math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory/1GB)
Також дивись: Як заборонити запуск PowerShell через групову політику