• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PowerShell 2.0でのレジストリ削除方法)

PowerShellでWindows Server 2008 R2のレジストリ削除方法

このQ&Aのポイント
  • Windows Server 2008 R2で複数のユーザがログオンする際に発生する一時プロファイルの問題を解決するために、PowerShell 2.0を使用してHKEY_LOCAL_MACHINEのレジストリから「.bak」が付くサブキーを削除する方法を説明します。
  • 一時プロファイルの問題は、ログオンする際にサーバ上のレジストリに「.bak」が付くサブキーが残ってしまうことが原因です。この問題を自動で解決するために、PowerShellスクリプトを使用して定期的に「.bak」のサブキーを削除する方法を提案します。
  • PowerShellを使ったレジストリの操作は危険を伴うため、事前にテスト機で動作確認を行うことをおすすめします。また、Microsoft社によると、ProfileList配下にはローカルプロファイル以外のサブキーは存在しないため、全てのローカルプロファイルでないサブキーを削除しても問題ありません。しかし、条件分岐が難しいため、最低限「.bak」のサブキーだけを自動で削除する方法を実装することをおすすめします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.2

No.1の追記です。 すでにご存知だと思いますが念のための要点のみの追記です。 --- PowerShellのスクリプトは「.ps1」という拡張子のファイルに保存する。 セキュリティのため、デフォルトではスクリプト・ファイルの実行は禁止されている。 .ps1ファイルを実行するかどうかは、PowerShellの「実行ポリシー(Execution Policy)」で制御されている。 デフォルトではRestrictedになっているので、スクリプトは実行できない。 実行ポリシーを設定するには、Set-ExecutionPolicyコマンドレットを利用する。(PowerShellを「管理者として実行」して実行すること) Set-ExecutionPolicy RemoteSigned --- 現在の実行ポリシーを確認するには、Get-ExecutionPolicyコマンドレットを使用する。 Get-ExecutionPolicy --- 実行ポリシーは次の4通り。 Restricted すべてのスクリプトが実行禁止。PowerShellインストール直後のデフォルト設定 AllSigned 署名されているスクリプトのみが実行可能。署名されていないスクリプトは実行禁止 RemoteSigned ローカルに保存されているスクリプトは実行可能。インターネットからダウンロードしたスクリプト(非ローカルのスクリプト)は、署名されているもののみが実行可能 Unrestricted すべてのスクリプトが実行可能。ただしインターネットからダウンロードしたスクリプトは、実行するかどうかが確認されるので、ユーザーが明示的に許可した場合のみ実行される --- 以上です。

---yamaori---
質問者

お礼

kteds様 ご回答ありがとうございました。 PowerShellを使用するのは初めてなので、上記の補足で記載頂いた内容も大変参考になります。 基本的な書き方もわからない状態ですが、早速今週中にスクリプトをテスト環境で動かしてみようと 思います。うまくいったら完了報告させて頂きます!

その他の回答 (1)

  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.1

ワイルドカードが使えますので次のようにすればサブキーが .bakである Itemはすべて削除できます。 Windows NT 部分はスペースを考慮して "Windows NT" と指定してください。 Remove-Item HKLM:\SOFTWARE\Microsoft\"Windows NT"\CurrentVersion\ProfileList\*.bak

---yamaori---
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう