Windows 10 Powershell スクリプトでシステム起動時に不要なユーザープロファイルを削除
Windows 10 の不要なユーザープロファイルを削除する Powershell スクリプト(ps1)をバッチファイル(bat)から起動する。それをタスクスケジューラーで毎回のシステム起動時に実行する。
Powershell スクリプトでは,foreach 文と switch 文を使って,C:\Users のサブディレクトリが各ユーザープロファイルの LocalPath なので,Administrator などを除いて不要なユーザープロファイルをまとめて削除する。
c:\temp\userscheck.ps1
$fldr = Get-ChildItem -Directory "C:\Users"
foreach($f in $fldr)
{
switch($f)
{
"Administrator" {break}
"All Users" {break}
"Default" {break}
"Default User" {break}
"Public" {break}
"ATC-5" {break}
default {
Get-WmiObject win32_userprofile | where LocalPath -eq C:\Users\$f | Remove-WmiObject
}
}
}
userscheck.ps1 を起動するバッチファイル
c:\temp\pskick.bat
powershell -ExecutionPolicy ByPass -NoExit C:\Temp\ps_userscheck.ps1
バッチファイルをタスクスケジューラーに登録するコマンド(schtasks.exe)
schtasks /create /ru system /sc onstart /tn pskick /tr "c:\temp\pskick.bat" /rl highest /F
/rl higest 最上位の特権で実行。 /sc システム起動時に実行。/ru system 実行ユーザーアカウント。
ユーザープロファイルは,C:\Users 中のサブディレクトリで,1つでも数百MBなので,共用パソコンなどで多数残していると,システムディスクの容量を圧迫する。
ユーザープロファイルを削除で,ドキュメントやデスクトップなどのユーザーファイルも削除されるようなので,容量が増えるが,ユーザーファイルが失われないよう注意する。
コメント 0