WindowsPowerShell

PowerShellでプロセス・サービス・レジストリを管理する【システム管理自動化】

WindowsPowerShell
記事内に広告が含まれています。

PowerShellからプロセス・サービス・レジストリを管理する方法を解説します。Windowsシステム管理を自動化する上で欠かせない操作です。

プロセスの管理

# プロセス一覧(CPU使用率順)
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name,CPU,WorkingSet

# 特定プロセスを取得
$proc = Get-Process -Name "notepad" -ErrorAction SilentlyContinue
if ($proc) { Write-Host "PID: $($proc.Id)" }

# プロセスを起動
Start-Process "notepad.exe"
Start-Process "powershell" -ArgumentList "-File C:\Scripts\task.ps1" -WindowStyle Hidden

# プロセスを終了
Stop-Process -Name "notepad" -Force
Stop-Process -Id 1234

# CPU・メモリ使用率をまとめて表示
Get-Process | Measure-Object WorkingSet -Sum | Select-Object Sum

サービスの管理

# 実行中のサービス一覧
Get-Service | Where-Object { $_.Status -eq "Running" }

# 特定サービスの状態確認
Get-Service -Name "wuauserv"  # Windows Update

# サービスの起動・停止・再起動
Start-Service -Name "spooler"
Stop-Service -Name "spooler"
Restart-Service -Name "spooler"

# スタートアップの種類を変更(管理者権限が必要)
Set-Service -Name "spooler" -StartupType Automatic
Set-Service -Name "spooler" -StartupType Disabled

レジストリの操作

# レジストリの読み取り
# HKLMはHKEY_LOCAL_MACHINE、HKCUはHKEY_CURRENT_USERの省略
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | Select-Object ProductName,CurrentBuildNumber

# 値の取得
(Get-ItemProperty "HKCU:\Environment").PATH

# 値の書き込み(管理者権限が必要な場合あり)
New-ItemProperty -Path "HKCU:\Software\MyApp" -Name "Version" -Value "1.0" -PropertyType String -Force

# 値の削除
Remove-ItemProperty -Path "HKCU:\Software\MyApp" -Name "Version"

# キーの作成・削除
New-Item -Path "HKCU:\Software\MyApp\Settings" -Force
Remove-Item -Path "HKCU:\Software\MyApp" -Recurse

WMI/CIMでシステム情報取得

# OS情報
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object Caption,Version,FreePhysicalMemory

# CPU情報
Get-CimInstance -ClassName Win32_Processor | Select-Object Name,NumberOfCores,MaxClockSpeed

# ディスク情報
Get-CimInstance -ClassName Win32_LogicalDisk | Select-Object DeviceID,Size,FreeSpace

まとめ

  • Get-Process/Stop-Process/Start-ProcessでWindowsのプロセスを管理できる
  • Get-Service/Start-Service/Stop-ServiceでWindowsサービスを管理できる
  • PowerShellからレジストリをGet-ItemProperty/New-ItemPropertyで読み書きできる
  • Get-CimInstance(旧Get-WmiObject)でハードウェア・OS情報を取得できる

コメント

タイトルとURLをコピーしました