ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

PowerShellで一部のフォルダを除きユーザープロファイルのデータを削除する

Windows Server 2012 R2でユーザーがサーバーにログオンした時に、ユーザープロファイル配下の一部のフォルダを除き、PowerShellですべて削除することができます。


まず、PowerShellを実行できるようにします。

PowerShellを起動します。

②以下のコマンドを実行し、現在のモードを確認します。
> Get-ExecutionPolicy

Restricted


③[Restricted]と表示された場合は、以下のコマンドを実行します。
> Set-ExecutionPolicy RemoteSigned 

④続いて、powershellでは[UserProfile]が理解されないので、環境変数で定義します。

> $UserProfile = $env:UserProfile
 
⑤そして、例えば、ユーザープロファイルのドキュメント、デスクトップを除いて削除したい場合は、以下のようなコマンドを実行します。
 

> Remove-Item $UserProfile\* -Exclude Documents,Desktop -Recurse 


ちなみに、Remove-Itemは、Exclude、Includeなどコマンドないで除外ができるので、コマンドプロンプトのdelやrmdirよりも柔軟に指定ができます。


また、Remove-itemについては以下のマイクロソフトの公開情報を参考にしてください。

>>Remove-Item コマンドレットの使用


ちょっと便利なのが、Remove-Item コマンドレットには -whatif パラメータがあります。このパラメータを指定すると、Remove-Item を呼び出した場合の結果がわかるだけで、実際は削除処理を実行しません。つまり、このコマンドでどういった動作をするのか確認ができます。


一部のフォルダ、ファイルの除いて削除したい場合は、このコマンドが利用できるので、活用してみてください。