SSブログ

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なので,共用パソコンなどで多数残していると,システムディスクの容量を圧迫する。
ユーザープロファイルを削除で,ドキュメントやデスクトップなどのユーザーファイルも削除されるようなので,容量が増えるが,ユーザーファイルが失われないよう注意する。


nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。