質問: server 2008powershellで修正プログラムを入手する windows server2008-r2で次のコマンドを使用すると機能します。get-hotfix -cn hostname | sort installedon -des | select hotfixid, description, installedon -first 20 しかし、windows server 2003では動作しません(当然のことながら)or server 2008 32ビット(これは私にとって奇妙なことです)。このスクリプトを32ビットのwin2008サーバーで実行すると、次のエラーが発生します。 sort-object:例外設定 "installedon": "" 1 "引数を指定して" parse "を呼び出す例外:"文字列が有効なdatetimeとして認識されませんでした。 ""
回答: 有効な日付/時刻に解析できないinstalledonエントリを含む修正プログラムが原因で、日付/時刻による並べ替えに失敗したため、エラーがスローされます。したがって、適切な「インストール日」がない1台のマシンにhotfixがインストールされている可能性が高いため、これらのエントリには空白が返されます。これはwindows2012 r2サーバーでテストしたところ、同じエラーが発生したため、windowsのバージョンに固有のものではありません。並べ替えなしでクエリを実行すると、installedonの日付を確認できます。get-hotfix -cn hostname | select hotfixid, description, installedon -first 20例:ps c:\windows\system32> get-hotfix | select hotfixid, description, installedon -first 20 hotfixid description installedon -------- ----------- ----------- kb2868626 security update kb2883200 update kb2887595 update kb2894852 security update 01dec2015 12:00:00 am kb2896496 update kb2900986 security update kb2903939 update kb2904440 update kb2911106 update kb2919355 update 04oct2014 12:00:00 am それらの多くはinstalledonに対して何も表示しないことに注意してください。