web-dev-qa-db-ja.com

Windowsを完全に自動更新する

私は、Windowsコンピューターを100%更新できるようにすることを目標とするプロジェクトに取り組んでいます。つまり、ユーザーの操作なしでウィンドウを自動的に更新するプログラムまたはスクリプトです。理想的には、別のスクリプトから実行できるスタンドアロンスクリプト。

理由:自分の業務で多くのコンピューターを更新する必要があります。それらは、任意のパッチレベル、およびWindowsからXP= Windows 8まで)にすることができます。私の目標は、スクリプトを開始し、他の何かを待機/実行して、完全にパッチされたコンピューターを見つけることです。

[〜#〜] mdt [〜#〜]Task Sequence でZTIWindowsUpdate.wsfを見つけることで、多くのことを解決しました。

これは、管理コマンドから次のように使用できます。

cssript.exe ZTIWindowsUpdate.wsf

これまでの私の問題は、いくつかのアップデートの間にコンピュータを再起動する必要があることです。おそらく依存関係のためです。 ZTIWindowsUpdate.wsfは管理者として実行する必要があり、再起動時に管理者として起動するための解決策が見つからないようです。さらに、起動時にスクリプトを実行する場合、それを停止する方法、およびtimeがいつ停止するかを知る方法はありますか?

誰かがこの問題の間違いのない解決策を手伝ってくれるでしょうか?

ありがとう!

6
aeinstein

あなたが説明している問題の最も簡単な解決策は、スクリプトにビルトインAdministratorアカウントの自動ログオンを構成させ、それ自体をスタートアップフォルダーに追加することです。このオプションを使用するには、管理者アカウントのパスワードを知っている(またはリセットする)必要があります。

他にも多くの可能性があり、いくつかの例は次のとおりです。起動スクリプトとpsexecを使用します。 srvanyを使用して、スクリプトを実行するサービスを作成します。タスクスケジューラを使用して、インタラクティブまたは非インタラクティブにスクリプトが自動的に実行されるようにスケジュールします。 WUAを無効にし、使用しているアカウントの自動ログオンを構成し、スクリプトをスタートアップフォルダーに追加します。

WSUSサーバーをセットアップできる場合、または透過的なキャッシングプロキシを使用できる場合は時間と帯域幅を節約できることに注意してください(Windowsサーバーがない場合はさらに簡単で安価です)。ただし、これにより、更新シーケンス中に再起動する必要が回避されません。

my script は、ZTIWindowsUpdate.wsfの代わりの開始点として役立つことがあります。

2
Harry Johnston

Windows OSを完全に更新する必要はありません。ほとんどの更新は必要ありません。ほとんどの更新はセキュリティと関係がなく、セキュリティなしで存続できます。変更内容を理解するには、各更新の説明を読む必要があります。 Windowsを完全に更新すると、いくつかのシナリオでパフォーマンスが低下する可能性があります。

必要なのは、必要な更新をダウンロードして、次のバッチスクリプトを含むフォルダーに保存することだけです。

@Echo off
For %%# in (*.msu) Do (
    Echo: Installing update: %%#
    Wusa "%%#" /quiet /norestart
)
Echo Windows Update finished.
Pause&Exit

また、フォルダー(更新プログラム+スクリプト)をwinrarを使用してSelf実行可能ファイルに圧縮し、スタンドアロンファイルとして配布することもできます。

情報:

Wusa。exeはWindows Updateコマンドラインアプリケーションです。

ファイルは一度に1つずつ処理されるのではなく、すべて処理されます。

quietスイッチは、インストールをサイレントにします。

norestartスイッチは、必要な場合でも、更新のインストール後に再起動しません。

OSにアップデートがインストールされている場合、エラーウィンドウが表示されたり、スクリプトの実行が停止したりすることなく、再度インストールされることはありません。

PS:その他のスイッチについては、Wusa /?を参照してください。

これがお役に立てば幸いです。

UPDATE:

別の方法は、[〜#〜] wsus [〜#〜]ユーティリティを使用してすべてのアップデートをダウンロードしてインストールすることです。

http://download.wsusoffline.net/

Win7 x64(たとえば)のアップデートは、「...\wsusoffline\client\w61-x64\glb」に格納されています。

PS:アプリケーションの「CMD」ディレクトリにある「DoUpdate.cmd」バッチファイルは、「バックグラウンド」でタスクを自動化する必要がある場合に必要です。

enter image description here

8
ElektroStudios

これは別の方法です------ 自己責任で以下の手順を実行してください:Windowsの更新を自動化するには、これらの手順を実行するか、ご使用のシステムでは機能しない可能性がありますが、これらの手順はWindows 7でテストされているため、Windows 7ではある程度機能するようです。

必ずお読みください:1.以下の手順が機能しない場合は、ドメインに属している可能性が高く、セキュリティポリシーにより以下の手順を実行できない可能性があります!2。 UACプロンプトもウィンドウの更新中は無効になっているため、バッチファイルを中断せずに実行できます。完了時にこれをデフォルトに戻すように注意してください

この手順を実行すると、コンピューターの安全性が低下します。コンピューターが完全に最新の状態になったら、すぐに削除してください。必要に応じて、24時間後に通知を設定してください

1。最初に、コンピュータが自動的にユーザーにログインすることを確認する必要があります。これを行うには、スタートメニューをクリックして「netplwiz」と入力し、Enterキーを押すかウィザードを開き、[ユーザー]タブでユーザー名を選択し、[パスワードを要求する]チェックボックスをオフにしてパスワードを入力し、このウィンドウを閉じます。

2。自動プロセスを開始する3つのバッチファイルを作成します。 (メモ帳を開き、各コードを個別のメモ帳に貼り付け、corresponding_file_name.batとして保存します)

1。名前を付けて保存:any_name.bat次に、このバッチファイルを、自動ログインしたユーザーのスタートアップフォルダにコピーします。 (スタート>すべてのプログラム>スタートアップをクリック)

start "" c:\autoupdate1.bat
exit    

二。名前を付けて保存:autoupdate1.bat次に、これをC:\ドライブにコピーします

wuauclt /detectnow
wuauclt /updatenow
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" > nul && shutdown -r -t 0
start "" c:\autoupdate2.bat
exit

三。名前を付けて保存:autoupdate2.bat次に、これをC:\ドライブにコピーします

ping 127.0.0.1 -n 61 > nul
start "" c:\autoupdate1.bat
exit

起動フォルダーのバッチファイルを再起動するか開くと、魔法の始まりがわかります。

3。更新が完全に完了したら、起動フォルダーとc:\ドライブからバッチファイルを削除するだけです

もう一度この手順を実行してください。スタートアップフォルダから削除するか、Windowsに移動してこのプロセスを停止する方法がわからない場合は、無限ループが発生する可能性があるため、自己の責任において行ってください。セーフモードでバッチファイルを削除する

最終メモ:バッチファイルの実行で問題が発生した場合は、WindowsバージョンのUACプロンプトを無効にする方法を調べる必要がある可能性があります。

1
EzR

WindowsUpadate procedereで最も時間がかかるのは、更新用のSetupfileのダウンロードです。ネットワークにインストールされたWUS(Window Update Server)をよく調べて、PCがWUSから更新されていることを確認してください。 PCがすべてActiveDirectoryドメインにある場合、必要な設定の管理は非常に簡単です。しかし、そうでない場合、この設定は、通常のWindows更新ルーチンを使用する単純なバッチスクリプトを作成できます。

別の解決策は、サイレントスイッチを使用して、事前にダウンロードしたupdateFilesをインストールするバッチスクリプトを作成することです。 Allmoastのすべてのsetup.exeには、このようなサイレントスイッチがあります。更新が不要な場合、このアップロードの更新は自動的に停止します。このようなバッチスクリプトウィザードを使用して、今は静かな時間を過ごしています。

PS:コンピュータが1人の会社の場合、遠い将来まで何時間も前任者に「感謝」する必要があります。

PPS:ちなみにXPとVistaは段階的に廃止する必要があります。これらは現在非常に古く、XPの場合、すでに延長されたサポート時間がMicrosoftによって来年Windows 7が解決策ではない1つの小さな状況で本当に必要な場合にのみ使用してください。

走る

cssript.exe ZTIWindowsUpdate.wsf

再起動後の管理者として、適切な権限を持つタスクスケジューラでタスクを作成し、起動時に実行することができます。 =]

1

自動化された方法は WuInstall です。私はそれを1年間使用していますが、それは完璧です。更新プログラムを自動的に検索、ダウンロード、インストールするコマンドラインツールです。プロセスをカスタマイズできる「スイッチ」がいくつかあります。たとえば、rebootcycle-switchのおかげで、新しくセットアップされたPCの更新は簡単に-一度で実行されます。

1
Julia Ambrews