自宅の検証環境を一斉再構築する感じになったので、RDP の有効化を PS DSC でやってみました。
手始めに PowerShell DSC モジュール群を以下からダウンロードして、
C:\ProgramFiles\WindowsPowerShell\Modules 配下に展開します。
https://gallery.technet.microsoft.com/scriptcenter/DSC-Resource-Kit-All-c449312d
いちいち各端末にコピーする必要はなくて、WinRM を有効化した上でプッシュすれば OK。
とはいえ、リモートから展開する場合は作りこみがいるので、まずはローカルで。
1. ローカル実行の場合
とりあえず事前設定としては管理者権限で PowerShell を開いて以下を実行。
Enable-PSRemoting -Force Set-Item wsman:\localhost\Client\TrustedHosts -Value * -Force Set-ExecutionPolicy Unrestricted Get-ChildItem “C:\Program Files\WindowsPowerShell\Modules\” –recurse | Unblock-File
上の 2 行は WinRM の有効化、3 行目が PowerShell の実行ポリシー変更、
最後がダウンロードしたファイルの一括アンブロックです。
あとは ExampleConfiguration-RemoteDesktopAdmin.ps1 とかを実行すれば、
ローカルマシンの RDP が有効化されます。
2. リモート実行の場合
リモートから実行する場合、WinRM も PS も事前に使えるようにしておく必要があります。
いちいちログインしてられないので、GPO で撒いてしまいましょう。
[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows リモート管理 (WinRM)] – [WinRM クライアント] – [信頼されたホスト] を有効化して、TrustedHostsList に * 指定。
[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows リモート管理 (WinRM)] – [WinRM サービス] – [WinRM によるリモート サーバー管理を許可する] を有効化。フィルターはいずれも * を指定。
[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [Windows PowerShell] – [スクリプトの実行を有効にする] で “すべてのスクリプトを許可するに設定。”
時間ないのでとりあえずここまで。