admin4ik.ru
Назад

PowerShell для начинающих — 10 скриптов которые реально пригодятся

Опубликовано: 05.06.2026
Время на чтение: 10 мин
0
2
Rate this post
Rate this post

PowerShell пугает многих своим синтаксисом. Но на практике даже базовые скрипты экономят часы работы. Собрали 10 скриптов, которые пригодятся системному администратору и продвинутому пользователю.

СодержаниеПоказать

1. Узнать внешний IP-адрес

(Invoke-WebRequest -Uri "https://api.ipify.org").Content

2. Список всех запущенных процессов с сортировкой по памяти

Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 20 Name, CPU, @{N='RAM(MB)';E={[math]::Round($_.WorkingSet/1MB,1)}} | Format-Table -AutoSize

3. Очистка временных файлов

$paths = @("$env:TEMP", "C:\Windows\Temp", "C:\Windows\Prefetch")
foreach ($path in $paths) {
    Get-ChildItem -Path $path -Force -ErrorAction SilentlyContinue |
    Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
}
Write-Host "Готово!"

4. Поиск файлов больше 100 МБ

Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.Length -gt 100MB } |
Sort-Object Length -Descending |
Select-Object FullName, @{N='Size(MB)';E={[math]::Round($_.Length/1MB,1)}} |
Format-Table -AutoSize

5. Бэкап папки с датой в имени архива

$source = "C:\ImportantData"
$dest   = "D:\Backupsackup_$(Get-Date -Format 'yyyy-MM-dd').zip"
Compress-Archive -Path $source -DestinationPath $dest -Force
Write-Host "Архив создан: $dest"

6. Список установленных программ

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Where-Object { $_.DisplayName } |
Sort-Object DisplayName |
Export-Csv -Path "$env:DESKTOP\Programs.csv" -NoTypeInformation -Encoding UTF8
Write-Host "Список сохранён на рабочем столе"

7. Мониторинг доступности сайта

$sites = @("https://google.com", "https://admin4ik.ru", "https://ya.ru")
foreach ($site in $sites) {
    try {
        $r = Invoke-WebRequest -Uri $site -TimeoutSec 5 -UseBasicParsing
        Write-Host "✅ $site — $($r.StatusCode)"
    } catch {
        Write-Host "❌ $site — НЕДОСТУПЕН"
    }
}

8. Отключить и включить сетевой адаптер

# Перезапустить WiFi адаптер
$adapter = Get-NetAdapter | Where-Object { $_.Name -like "*Wi-Fi*" }
Disable-NetAdapter -Name $adapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $adapter.Name -Confirm:$false

9. Информация о системе одной строкой

$cs = Get-CimInstance Win32_ComputerSystem
$os = Get-CimInstance Win32_OperatingSystem
$disk = Get-PSDrive C
Write-Host "ПК: $($cs.Name) | ОС: $($os.Caption) | RAM: $([math]::Round($cs.TotalPhysicalMemory/1GB,1)) ГБ | Диск C: $([math]::Round($disk.Free/1GB,1)) ГБ свободно"

10. Автоматический рестарт зависшей службы

$serviceName = "Spooler"  # замените на нужную службу
$service = Get-Service -Name $serviceName
if ($service.Status -ne "Running") {
    Write-Host "Служба $serviceName не запущена, перезапускаю..."
    Start-Service -Name $serviceName
    Write-Host "Готово. Статус: $((Get-Service -Name $serviceName).Status)"
} else {
    Write-Host "Служба $serviceName работает нормально"
}

Как запустить скрипт

Сохраните код в файл с расширением .ps1. Если скрипты заблокированы политикой выполнения — запустите PowerShell от администратора и введите:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Итог

PowerShell становится незаменимым инструментом когда начинаешь им пользоваться. Начните с этих 10 скриптов — модифицируйте под свои задачи, и вскоре автоматизируете большинство рутинных операций.

, , ,
Поделиться
Комментарии:
Комментариев еще нет. Будь первым!
Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.