問題
Windows Updateを有効にして、インストールを自動的にダウンロードしてスケジュールします。特定の日(土曜日)に実行するようにスケジュールします。
私が試した解決策
powershell
/gpmc
モジュールを使用してgrouppolicy
スクリプトを記述し、WindowsUpdateの設定を変更します。
私が探している最終状態は次のとおりです。
gpedit.msc-> Administrative Templates/Windows Components/Windows Update
自動更新の構成->
Enabled
Auto download and schedule the install (4)
Every Saturday (7)
直面している問題
PowerShellを使用してWindowsServer2016でこれを行うためのドキュメントが見つかりません。
注:
残念ながら、 Get-GPO
コマンドレットはドメインからのみGPOを取得できます。 COMメソッドに相当する管理対象はないようです IGroupPolicyObject::OpenLocalMachineGPO
。ただし、これを設定する方法は他にもあります。既存のグループポリシーでこのポリシー設定がまだ指定されていない場合、レジストリを直接調整すると問題なく機能するはずです。
$hklm = [Microsoft.Win32.RegistryKey]::OpenBaseKey('LocalMachine', 'Default')
$wu = $hklm.CreateSubKey('SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU')
$wu.SetValue('NoAutoUpdate', 0, 'DWord')
$wu.SetValue('AUOptions', 4, 'DWord')
$wu.SetValue('ScheduledInstallDay', 7, 'DWord')
$wu.SetValue('ScheduledInstallTime', 0, 'DWord')
$wu.Dispose()
$hklm.Dispose()
これは、ローカルグループポリシーエディターに表示される内容には影響しませんが、WindowsUpdateインフラストラクチャには表示されます。アップデートをインストールする時間帯が指定されていないため、深夜に設定しました。 ScheduledInstallTime
値を変更することで、これを変更できます。
特定のポリシーに対応するレジストリ設定を判別するには、オープンソースアプリケーションのElement Inspectorツールを使用できます Policy Plus 。 Policy Plusと言えば、PowerShellからアセンブリとしてロードして、ローカルGPOを編集することもできます。まず、 ダウンロード そしてエクスプローラーの[プロパティ]タブを使用して「ブロックを解除」します。これにより、.NETはそれを別のプロセスにロードできます。次に、このスクリプトと同じディレクトリに配置します。
[System.Reflection.Assembly]::LoadFile((gi '.\Policy Plus.exe').FullName) | Out-Null
$loader = [PolicyPlus.PolicyLoader]::new('LocalGpo', '', $false)
$pol = $loader.OpenSource()
$pol.SetValue('SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU', 'NoAutoUpdate', 0, 'DWord')
$pol.SetValue('SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU', 'AUOptions', 4, 'DWord')
$pol.SetValue('SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU', 'ScheduledInstallDay', 7, 'DWord')
$pol.SetValue('SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU', 'ScheduledInstallTime', 0, 'DWord')
$loader.Save()
$loader.Close()
これは、Policy Plusの PolicyLoader
および PolFile
クラスを利用します。スクリプトが完了すると、次の出力が表示されます(最後の2回の呼び出しによる)。
saved to disk and invoked policy refresh
True
このようにして、変更はローカルグループポリシーエディターに表示され、通常のグループポリシーインフラストラクチャがそれらをレジストリに適用します。