%20%E3%81%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%20%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%20Power%20Shell%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88.png)
Windows 7 クライアント マシン上のユーザー プロファイルを削除するために、Windows Server 2008 R2 で次のスクリプトを試しました。
PS C:\> get-content localcomputer-list.txt | get-userprofile | where {$_.LastUse 'lt (Get-Date).AddDays(-90)}} | remove-userprofile -whatif
動作しません。
これを解決するにはどうすればよいですか?
答え1
スニペットはここから取得したものだと思います:
http://www.itninja.com/blog/view/manage-purge-local-windows-user-profiles
get-userprofile モジュールをロードする必要があります。
また、buddy はコード内で - を表すために ' を使用しています。つまり、
get-content mydesktops.txt | get-userprofile | where {$_.LastUse -lt (Get-Date).AddDays(-90)} | remove-userprofile
彼の投稿に示されているように、リモートでスクリプトを使用しようとすると、スクリプトが機能しません。
つまり、これは機能します:
ユーザープロファイルを取得 | where {$_.LastUse -lt (Get-Date).AddDays(-90)} | ユーザープロファイルを削除