私はしばらく探していましたが、Windows UpdateがServer Core 2012でどのように機能するかについての私の質問に対する答えをまだ見つけていません。オンラインにしたばかりのドメインコントローラーがいくつかあり、それらをサーバーコアに変更することにしました。私が見つけた2つのことは、sconfig
を使用することですが、次のエラーメッセージが表示されます
♀Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
Inspecting system...
===============================================================================
Server Configuration
===============================================================================
1) Domain/Workgroup: Domain: mydomain
2) Computer Name: mydc
3) Add Local Administrator
4) Configure Remote Management Enabled
5) Windows Update Settings: Automatic
6) Download and Install Updates
7) Remote Desktop: Disabled
8) Network Settings
9) Date and Time
10) Help improve the product with CEIP Not participating
11) Windows Activation
12) Log Off User
13) Restart Server
C:\Windows\System32\en-US\sconfig.vbs(326, 1) Microsoft VBScript runtime error: Input past end of file
14) Shut Down Server
15) Exit to Command Line
Enter number to select an option:
また、Cscriptを使用するように言ういくつかのリンクを見つけましたが、実行するとエラーも発生します。例えば:
[mydc]: PS C:\Users\JohnDoe\Documents> Cscript scregedit.wsf /AU /v
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
Input Error: Can not find script file "C:\Users\JohnDoe\Documents\scregedit.wsf".
自動更新が機能していることを確認するにはどうすればよいですか?手動で更新する方法はありますか?
サーバーでsconfigがこのエラーを発生する理由がわかりません。
scregedit.wsfはsystem32にあります。
cd c:\windows\system32
Cscript scregedit.wsf /AU /v 4
自動更新をオンにします。
レジストリを直接変更することもできます。キーはHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Updateにあります。
「AUOptions」という名前のDWORD値があります
値1は更新をオフにし、値4はダウンロードして自動的にインストールします。値2と3は、Coreに存在しないタスクバー通知領域を介してユーザーに通知するため、これらを使用しないでください。
再起動のタイミングを決定できるようにする必要があるため、アップデートを手動でインストールします。
' Core Configurator 'など、手動で更新を実行できるさまざまなサードパーティツールがあります。
私は現在使用しています: ' WUA_SearchDownloadInstall.vbs '、Microsoftからの小さなスクリプト
インストールする更新をより詳細に制御できる、Nice PowerShellモジュールが追加されました。
Windows Update PowerShellモジュール
%PSModulePath%で指定された任意のパスの下のフォルダーにファイルをコピーした後、以下を使用できます。
Get-WUlist
通常のPowerShellパイプを実行できます。
Get-WUList | format-list -property Title, Description
利用可能なすべてのアップデートのリストを取得します。その後、単一の更新をインストールできます。
Get-WUInstall -KBArticleID KB2868623
またはプロンプトなし:
Get-WUInstall -KBArticleID KB2849470 -AcceptAll -IgnoreReboot
Windows用の特定の更新のみをインストールできます。
Get-WUInstall -Category "Security Updates" -ListOnly
更新の履歴を表示します。
Get-WUHistory | fl
再起動が必要かどうかを確認します。
Get-WURebootStatus
これはリモートマシンでも機能するようですが、まだテストしていません。
私はこれが古い投稿であることを知っていますが、とにかくここに回答を投稿すると思いました。入力エラーの理由は、CScript、スクリプトの名前、およびオプションを分離する必要があるためです。これとかなり長い間戦った後、これはスクリプト内でこれを実行しているときに動作することがわかりました。 Invoke-Command -Scriptblock { & 'CScript' 'C:\windows\system32\SCRegedit.wsf' "/AU" "/v"
Sconfig.cmdを実行しているコンテキストでは述べていませんが、これは、リモートPowerShellセッションからそのツールを実行したときに発生します。私はRDP経由で接続したときにのみ実行に成功しました。