簡単な作業のように思えますが、私の解決策はどれもうまくいきませんでした。通常のユーザーがいる通常の AD ドメイン。非ローミング プロファイルのターミナル サーバーを使用しているため、すべてが TS ディスクに保存されています。ログイン時にダウンロード フォルダーを空にしたいのですが、ユーザーが自分でダウンロード フォルダーを空にすることはなく、ディスクがいっぱいになるのにうんざりしています。
したがって、当然のことながら、単純な PowerShell スクリプトを作成し、ログオン時にそれを実行する GPO を作成します。問題は、ps スクリプトには昇格が必要であり、ログオン スクリプトはそのユーザーのアクセス許可レベルで実行されるため、昇格できないことです。
PS の行は次のとおりです。
Get-ChildItem C:\Users\*\Downloads\* | Remove-Item -Force
昇格された PowerShell インスタンスから手動で実行するとうまく機能します。
GPO は不要です。次に考えるのは、各ターミナル サーバーにスケジュールされたタスクを作成し、管理者権限を持つサービス アカウントで実行することです。
問題は、各ユーザーのダウンロード フォルダーを空にすることができず、サービス アカウントのダウンロード フォルダーのみを空にできることです。
したがって、各ユーザーのダウンロード フォルダー パスを .ps1 ファイルに静的に入力することは望ましくありません。明らかに、管理上の悪夢となるからです。
それで、誰か知っていますか:
- スクリプトを実行せずに、GPO を介してユーザー ログイン時にダウンロード フォルダーを空にする方法。または
- 各ユーザーの名前を指定せずに、各ユーザーのフォルダーを再帰的に検索し、ダウンロード フォルダーを見つけて空にするようにスクリプトを改善する方法。
これを簡単に行うにはどうすればいいでしょうか? ありがとうございます
答え1
ユーザー ログオン スクリプトの問題は、そのコマンドを使用していた場合、すべてのユーザーのダウンロード コンテンツを削除しようとしていたことです。
特定のユーザーのダウンロードを削除したいはずです。ダウンロードがプロファイル ディレクトリにある場合は、次の操作を行います。
Get-ChildItem $env:USERPROFILE\downloads | Remove-Item -recurse
Powershell の実行ポリシーに応じて、スクリプトまたはセットに署名する必要がある場合があります-ExecutionPolicy Bypass
。ログオン スクリプトで Powershell を実行する方法については、多くのアドバイスがあります。
昔ながらのバッチ ファイルで実行する場合は、次のようにするだけです。
rd /s /q %USERPROFILE%\Downloads\*
del /q %USERPROFILE%\Downloads\*.*