Adam the Automator (日本語)
Windowsの稼働時間は、多くのサーバー管理者が環境で発生する可能性のある日常の問題のトラブルシューティングに使用する測定値です。この記事では、WindowsServerとWindows10の稼働時間を確認するすべての方法を学習します。自分にとって最も簡単な方法を自由に使用できます。この記事は今後の参考資料として使用してください。
この記事は2つの主要な部分に分かれています。サーバーの稼働時間をチェックし、過去のWindowsの稼働時間を見つけます。最初の部分では、最後に再起動してからコンピュータが稼働していた時間を見つけることに焦点を当てます。この記事では、これを「現在の」稼働時間と呼びます。
記事の第2部では、複数回の再起動の間にWindowsシステムが稼働していた時間の再起動を意味する「過去の」稼働時間を見つけることに焦点を当てます。 PowerShellを使用して、Windowsイベントログを解析して過去の稼働時間の数値を取得する方法を学習します。
目次
WindowsServerの稼働時間の確認
開始するために、現在のWindowsの稼働時間を見つけるためのいくつかの異なる方法にジャンプしましょう。
ローカルでコマンドを実行するデモが表示されます。このセクションのWindowsシステム。ただし、PowerShell Remotingを使用すると、これらのチェックをリモートで実行することもできます(タスクマネージャーを除く)。
タスクマネージャー
稼働時間を見つける最も簡単で簡単な方法の1つは、タスクマネージャーを開くだけです。
タスクマネージャーでWindowsの稼働時間を確認するには、Windowsタスクバーを右クリックして[タスクマネージャー]を選択するか、Ctrl–Shift–Escキーを押します。タスクマネージャが開いたら、[パフォーマンス]タブをクリックします。 [パフォーマンス]タブの下に、稼働時間のラベルが表示されます。
イベントビューアー
イベントビューアーは、ほとんどのシステム管理者によって定期的に使用されています。これは、稼働時間を取得するコマンドラインに関連しない方法に最適なオプションになります。イベントID6005および6006を使用して、イベントログサービスがいつ開始または停止するかを識別できます。これは、起動/シャットダウン時に発生します。イベントビューアを介して稼働時間を特定するには、次の手順に従います。
- スタートメニューを表示し、イベントビューアを検索するだけで、コンピュータ管理を介してアクセスすることもできます。
- オン左側で、[Windowsログ]セクションを展開し、[システム]を選択します
- システム関連のイベントのみをクエリしているので、ウィンドウの右側にある[現在のログをフィルター処理…]をクリックします
- [イベントID]フィールド(デフォルトでは、「すべてのイベントID」を示すテキストが事前に入力されています)で、該当するイベントIDを検索し、「6005、6006」と入力して、[OK]をクリックする必要があります
次に、2つの時間を比較して、合計稼働時間を作成できます。また、これらのイベントの多くのインスタンスが保存されているため、稼働時間の履歴を照会できます!
これで、表示されるイベントログがフィルタリングされました。前回だけでなく、起動/シャットダウンが行われたすべての既知の時間。
PowerShell
PowerShellには、稼働時間を取得するためのいくつかの異なる方法があります。 WMIを照会するか、Wiを使用できますndowsイベントログ。
WMIをクエリするときは、Win32_OperatingSystemクラスをクエリして、以下に示すようにLastBootUpTime
プロパティを選択できます。
PowerShellを介してイベントログを照会するには、Get-WinEvent
コマンドレットを使用します。マシンが最後に起動された時刻を示すイベントID6005または6006を検索する必要があります。
WMIC
WMICはWMIのコマンドラインインターフェイスを提供し、試されていますそして長年使用されてきた真の方法。 WMICを介して稼働時間を介してクエリを実行するには、少しは隠れていますが、Win32_OperatingSystemWMIクラスを再度クエリします。以下に、WMIC構文os get lastbootuptime
を使用して、サーバーが最後に起動された時刻を返すことができることを示します。
WMICはWindowsにプリインストールされているため、WMICを利用するために何もダウンロードする必要はありません。
システム情報ユーティリティ
systeminfoコマンドは、コンピューターに関する詳細な構成情報を表示します。システムの稼働時間を照会するために使用されます。組み込みのfindコマンドラインツールを使用すると、テキストを解析して必要なデータを取得できます。
コマンドプロンプトまたはPowerShellを開き、systeminfo | find
。
systeminfo
はプリインストールされているため、何もダウンロードする必要はありません。 Windows。
NetStatisticsコマンド
Net Statisticsを介して、またはより一般的にはnet stats
として知られている稼働時間をすばやくクエリすることもできます。 net stats
コマンドは、セッションに関する一般的な情報を返します。 …行以降の統計の下に表示されます。この日付は、マシンがいつ起動したかを示します。
稼働時間コマンド
Windowsの稼働時間を見つけるために小型でポータブルなユーティリティが必要な場合は、NeoSmartTechnologiesのWindows用の稼働時間コマンドをご覧ください。このユーティリティは、Windowsのバージョンで稼働時間をすばやく照会するのに最適です。このツールの主な利点は、利便性の要素です。これを1日に何度も使用している場合は、この方法を検討することをお勧めします。
ツールをダウンロードした後、uptime.exeを%WinDir%\ System32に抽出します。次に、コマンドプロンプトを開き、uptime
と入力します。
このツールをリモートで実行するには、最初にツールをWindowsシステムにコピーする必要があります稼働時間をチェックしています。
Get-ServerUptimeReportスクリプトの紹介
PowerShellを自分で作成する必要がないため、Get-ServerUptimeReport.ps1というコミュニティスクリプトをダウンロードします。
このスクリプトを使用すると、コンピューター名をパラメーターとして指定できます。次に、コンピューターのシステムイベントログを解析し、開始イベントと停止イベントの両方を見つけて、2つを比較します。次に、イベントログが記録されるまで、サーバーがオンラインであった合計時間を返します。
以下は、サーバーでこのスクリプトを使用する例です。現在の稼働時間を含む、サーバーがイベントログに記録しているすべてのイベントの合計稼働時間を返します。
多くのサーバーで稼働時間を検索する
このスクリプトは、次の手順を実行する簡単な方法です。何日にもわたる単一サーバーの稼働時間を見つけます。しかし、一度に多数のサーバーでこの情報が必要な場合はどうでしょうか。これを行うには、サーバーのリストを収集してから、各コンピューター名を一度に1つずつこのスクリプトに渡します。
例として、PowerShellコンソールの配列ですべてのサーバーを定義します。 。この例では、変数配列の名前は$servers
になります。
実際には、Active Directory、Hyper-V、またはテキストファイル。サーバー名の配列を作成できる限り、問題ありません。
すべてのサーバー名を定義してから、以下に示すように、ループを使用して各サーバー名を繰り返し処理します。
このコードは機能しますが、各行が参照するサーバーを特定することはできません。計算されたプロパティを使用して、以下のようにサーバー名を出力に追加します。
これで、サーバーの稼働時間に関する迅速なレポートを提供できる優れた小さなツールができました!
まとめ
これで、Windowsの稼働時間を見つけるためのさまざまな方法を見てきました。選択したオプションに関係なく、同じ情報を受け取ります。自分のコンテキストに最適なものを選択してください。
稼働時間の履歴の履歴レポートが必要な場合は、Get-ServerUptimeReport
PowerShellスクリプトを忘れないでください。