記事にスキップ

リモートシェル管理 / 実践ガイド

リモート シェル管理: CMD、PowerShell、sh および ksh

会社のコンピュータのトラブルシューティングを行い、適切なシェルを選択し、リモート コマンドを明確な範囲と検証済みの結果を伴う反復可能なメンテナンスに変換します。

CMD、PowerShell、および sh/ksh ターミナル パネルは、ネットワーク ハブを介してラップトップ、サーバー、リモート エンドポイントにリンクされており、緑色のステータス チェックが付いています。
目的のエンドポイントに接続し、その状態を検査し、各管理タスクの結果を確認します。

ワークステーションが停止した場合、技術者が建物内を歩いたり、従業員に電話したり、リモート ワーカーが空くのを待ったりする必要はありません。 リモート シェル管理により、権限のある IT スタッフは、CMD、PowerShell、sh、ksh などのコマンドライン ツールを使用して、企業のエンドポイントを検査、修復、構成する直接的な方法を得ることができます。価値は、適切なコンピュータに到達し、制御されたアクションを実行し、結果を検証することで得られます。

中小企業にとって、リモート シェル アクセスは、システムの動作を維持し、遅延を解消し、ポリシーを適用し、変更を文書化するのに役立ちます。明確な管理プロセスとともに使用すると、定期的なエンドポイントのメンテナンスが中断の連鎖ではなく反復可能な作業に変わります。

01リモート シェル管理が IT チームにとって重要な理由

グラフィカル リモート デスクトップ ツールは、管理者がユーザーに表示されているものを正確に確認する必要がある場合に便利です。反復的なメンテナンスの場合、リモート端末はより直接的なルートを提供できます。具体的なタスクとしては、ディスク容量の確認、サービスのクエリ、ログの収集、インストールされたプログラムの検査、設定の変更、または承認されたメンテナンス スクリプトの実行などが挙げられます。

ビジネス価値は単純明快です。修復を迅速化することでダウンタイムを短縮できます。テストされたコマンドにより、2 人の技術者が同じ問題を異なる方法で解決する可能性が低くなります。一元管理ワークフローは、チームが関連するエンドポイントやサポート履歴とともにコマンドと結果を記録するときに、説明責任を維持するのにも役立ちます。

リモート シェル アクセスは、スタッフがオフィス、自宅、顧客サイト、旅行先をまたいで作業する場合に特に価値があります。承認された接続が利用できる場合、プロセスが実行されているか、セキュリティ エージェントがアクティブであるか、または設定が適用されているかを IT​​ 部門が確認するために、コンピュータが物理的に近くにある必要はありません。軽微な問題がセキュリティ上のギャップや休業につながる可能性がある場合、可視性が重要になります。

このガイドは、コマンドラインのトラブルシューティングとメンテナンスに使用してください。ファイル処理、リモート サポート、エンドポイント管理のより広い視野については、リモート コンピュータ管理ソフトウェアに関するガイドを参照してください。

02タスクに CMD、PowerShell、sh、または ksh を選択します

シェルは、オペレーティング システム、タスク、およびチームの確立された管理慣行と一致する必要があります。どのインタープリターがエンドポイントにインストールされているか、どのアカウントで実行されているかを確認します。使い慣れたコマンドは、その構文、権限、および予期される動作がその環境に一致する場合にのみ役立ちます。

直接 Windows チェックおよび既存のバッチ スクリプト用の CMD

コマンド プロンプトは、使い慣れた Windows 管理コマンドや従来のバッチ スクリプトにとって引き続き便利です。ネットワーク設定のクエリ、接続のテスト、実行中のタスクの調査、ローカル ファイルの管理、またはアカウントに必要な権限がある場合の電源アクションの開始を行うことができます。 Windows エンドポイント上の単純な制御されたタスクの場合、CMD は命令から結果までの短いパスとなる可能性があります。

CMD は、PowerShell ほど構造化システム オブジェクトの処理や、複雑で保守可能な自動化の構築には適していません。確立されたコマンドや単純なタスクに使用します。 Microsoft の CMD コマンド リファレンス では、コマンド構文、引用符、コマンドの連鎖方法について説明しています。パスにスペースが含まれている場合、または後続のアクションが成功に依存する場合、これらの詳細は重要です。

構造化された管理と自動化のための PowerShell

PowerShell は、Windows エンドポイント管理に強力な選択肢です。適切なコマンド、モジュール、権限を使用すると、サービス、プロセス、イベント ログ、ユーザー、アプリケーション、構成に関する詳細を取得できます。承認されたスクリプトは、その範囲をサポートする展開またはリモート処理ワークフローを通じて、複数のコンピューター間でタスクを標準化することもできます。

たとえば、管理者は、利用可能なディスク容量を確認したり、必要なサービスを確認したり、承認されたソフトウェアの削除を実行したりできます。再現性が利点です。慎重にテストされたスクリプトは、手動のクリックや文書化されていない技術者の習慣に頼るのではなく、同じ手順に従います。障害を報告する方法と、オペレーターが望ましい状態を確認する方法を定義します。

その力には規律が必要です。 PowerShell コマンドのスコープが不十分であると、広範な変更が迅速に加えられる可能性があります。承認されたスクリプトを使用し、限定されたグループでテストし、タスクで必要な場合を除き、昇格された実行を避けます。スクリプトがすべてのエンドポイントで同じように動作すると仮定する前に、インストールされている PowerShell のエディションとモジュールの可用性を確認してください。

互換性のある Unix のような環境用の sh および ksh

sh および ksh がインストールされているシステムでは、Linux、Unix、およびその他の Unix 類似の環境にコマンドライン アクセスが提供されます。利用可能なシステム ユーティリティと併せて、ログの確認、ストレージのチェック、ファイル管理、権限の作業、プロセス管理をサポートできます。サービス管理コマンドと管理者権限は、オペレーティング システムによって異なります。

sh と ksh のどちらを選択するかは、多くの場合、システムと既存のスクリプトによって異なります。互換性は実際的な懸念事項です。 sh 用に作成されたスクリプトは、KornShell 固有の機能を想定すべきではありません。 ksh スクリプトには、互換性のある KornShell インストールが必要です。リモート実行する前に、インタープリターのパス、アカウントの権限、コマンド構文を確認してください。 KornShell プロジェクトのドキュメントには、実装とプラットフォームの情報が記載されています。 ksh がプレインストールされている、またはシェルが利用可能であるということは、リモート管理製品がそのオペレーティング システムをサポートしていることを意味するとは考えないでください。

03コマンドを実行する前にリモート接続を理解する

シェルはコマンドを解釈します。リモート接続では、コンピュータ間の入出力が行われます。既存のリモート端末内で PowerShell を開くことは、ネイティブ PowerShell リモート セッションを作成することとは異なります。 CMD、sh、および ksh も同様に、リモートで使用するには承認された接続メカニズムが必要です。

Microsoft の PowerShell リモート要件では、Windows の WinRM ベースのアプローチと PowerShell 7 以降での SSH サポートについて説明しています。これらの方法には、独自の構成および認証要件があります。これらは、確立された Net Monitor for Employees Pro 接続を介したターミナル機能の使用とは別のものです。

Net Monitor for Employees Pro で管理されている会社のコンピュータの場合は、ローカル ネットワークと VPN セットアップ ガイド または インターネット接続とクラウド ライセンス ガイド を使用してコンソールとエージェントを設定します。クラウド アクセスには、適切なクラウド アカウントとサブスクリプションが必要です。ターミナル セッションを開始する前に、目的のコンピュータが接続されていることを確認してください。

リモート シェル ワークフロー: エンドポイントとアカウントを確認し、変更せずに検査し、テストされたコマンドを選択し、スコープ内で実行し、結果を検証し、結果を記録します。
エンドポイントの状態が検証され、結果が記録されると、リモート コマンドは完了します。

04Net Monitor for Employees Pro でリモート ターミナルを使用する

Net Monitor for Employees Pro には、選択した接続されたリモート コンピュータ用の対話型の Terminal が含まれています。 リモート ターミナルのヘルプには、セッションの開始方法、入力と出力の動作、およびセッションをいつリセットするかについて記載されています。その例には、Windows の cmd.exe と、Linux/macOS の /bin/bash が含まれます。

  1. 対象のコンピュータを選択します。 デバイスの ID、接続、およびメンテナンス タスクを確認します。エンドポイントのオペレーティング システムと端末で利用可能なアカウント コンテキストを確認してください。
  2. ターミナルを開きます。Terminal タブを選択すると、現在接続されているリモート コンピュータのセッションが自動的に開始されます。キーボード入力はそのコンピュータのシェルに直接送られ、出力はリアルタイムで表示されます。
  3. シェルを確認し、読み取り専用チェックから開始します。 実際に使用しているインタープリタに適したコマンドを使用してください。ワークフローに PowerShell、sh、または ksh が必要な場合は、まずインタープリターが利用可能であること、およびその呼び出しがエンドポイント構成でサポートされていることを確認してください。
  4. 承認されたアクションを実行し、結果を確認します。 選択したコンピュータで作業し、エラーを検査し、その後の状態を確認します。選択したコンピュータのターミナル セッションは、一括コマンド展開機能として扱わないでください。
  5. 各コンピュータのコンテキストを明確に保ちます。 ターミナルは、コンピュータを切り替えるときに出力を分離したままにします。コマンドを入力または貼り付ける前に、毎回アクティブなターゲットを確認してください。
  6. 必要に応じてリセット ターミナルを使用します。 Reset terminal は、プロンプトが壊れた場合、シェルがスタックしているように見える場合、または出力が予期せず停止した場合に、現在のシェルを停止し、新しいセッションを開始します。これはセッションのリセットであり、既に実行されたコマンドを元に戻す操作ではありません。

表示される端末出力はトラブルシューティングに役立ちますが、それがすべてのコマンドの保持された監査証跡であると想定しないでください。チームが必要とする記録、保存、アクセス制御を個別に確立し、セッションをリセットまたは終了する前に関連する結果を保存します。

05リモート コマンドの実行を反復可能な制御にする

リモート シェル アクセスは、定義された管理プロセスに関連付けられると価値を生み出します。すべてのマネージャーまたは技術者が無制限にコマンドを実行すると、不必要なリスクが生じます。どの役割が、どのデバイス上で、どのメンテナンスまたは調査タスクのためにそれを使用できるかを指定します。

アクセスを許可された IT 担当者およびセキュリティ担当者に制限します。サポートされている場合は、個別に帰属する管理資格情報を使用し、ロールに必要な最小限のアクセス許可を適用します。サービスを再起動する必要があるヘルプ デスク技術者は、ローカル管理者の作成、セキュリティ設定の変更、またはファイルの消去を行うための権限を必要としない場合があります。シェルがサインインしている従業員の ID を使用すると仮定するのではなく、有効なアカウントを確認してください。

日常業務用に承認されたコマンド カテゴリを定義します。多くの場合、読み取り専用チェック、ログ収集、ソフトウェア インベントリ、確立された修復は標準化できます。アカウントの変更、ファイアウォールの編集、ソフトウェアの削除、広範なファイル操作、サービスの再起動、シャットダウンなどのアクションには、その影響に応じた制御と、必要に応じて文書化された承認パスが必要です。

誰がアクションを開始したか、どのエンドポイントがアクションを受信したか、いつ実行されたか、正確なコマンドまたはスクリプトのバージョン、関連する出力、および検証された結果を記録します。アプリケーションが動作しなくなった、または設定が変更されたと従業員が報告した場合、この記録は何が起こったのかを確認するのに役立ちます。承認されたサポート、変更管理、またはログ システムに保存します。ターミナル ウィンドウだけでは、保持や監査の完全性は確立されません。

有用なコマンド レコードには、タスクの理由、ターゲット スコープ、予想される出力、ロールバック指示 (該当する場合)、およびフォローアップ チェックが含まれます。コマンド テキストやチケットにパスワードやその他の秘密を含めないでください。収集したログの内容や目的に応じて、アクセスを制限します。

06シェルの結果と画面の可視性を組み合わせる

コマンドの結果は、ワークステーションの完全な状態を必ずしも説明するとは限りません。従業員がエラー メッセージ、フリーズしたアプリケーション、または予期しないブラウザの動作を確認している間、プロセスがアクティブになっている可能性があります。 ライブ画面表示とリモート デスクトップ コントロールにより、操作コンテキストが追加されます。

Net Monitor for Employees Pro は、画面の表示、アクティビティ レポート、リモート コントロール、ターミナル機能を組み合わせたこのワークフローをサポートします。コマンドで問題が解決しなかった理由を推測する代わりに、IT 部門はユーザー エクスペリエンスを検証し、ファイル マネージャー を使用して必要なファイルを転送したり、アプリケーションを検査したり、必要に応じて再起動を手配したりできます。各アクションは、チームのアクセスおよび変更手順に従う必要があります。

アプリケーションがコマンドライン チェックに失敗した場合は、ライブ画面検査を使用して従業員に表示される結果を確認します。コマンドの成功とユーザー タスクの成功は別個のチェックです。両方を記録し、管理チェックリストを使用して回復ルートとチケットの結果を保持します。

07会社のコンピュータの実践的なリモート シェル チェック

最も有用なコマンドには、明確なビジネス結果があります。稼働時間をチェックすると、再起動サイクルを逃した可能性のあるデバイスを特定できます。プロセスをレビューすると、リソースを大量に消費するソフトウェアや馴染みのないソフトウェアが見つかる可能性があります。サービスのクエリは、バックアップ、セキュリティ、または監視エージェントが実行されているかどうかを確認するのに役立ちますが、実行中のプロセスだけではそのサービスが正常であることを証明することはできません。

読み取り専用チェックから開始します

これらの小さな例は、承認された接続を確立した後の検査を示しています。互換性のあるエンドポイント上の指定されたシェルでそれぞれを実行します。彼ら自身はリモート接続を確立しません。

  • CMD: hostname はコンピュータ名を表示します。 whoami はアカウントの ID を報告します。 tasklist には、実行中のプロセスがリストされます。
  • PowerShell: Get-Service はサービスとそのステータスを一覧表示します。 Get-PSDrive -PSProvider FileSystem は、報告された空き容量を含むファイル システム ドライブを表示します。
  • sh または ksh: id -un は有効なユーザー名を表示し、uname -s はオペレーティング システム名を識別し、df -P はファイルシステムのスペースを報告します。ユーティリティがターゲット システムで使用できることを確認します。

結果を使用して次のステップを決定します。スペース不足レポートでは、原因を特定し、クリーンアップの前にターゲット パスを確認する必要があります。見慣れないプロセスでは、停止する前にその所有者と目的を確認する必要があります。読み取り専用の出力には運用情報が含まれる可能性があるため、承認されたサポート レコードに保存してください。

インシデントの調査とファイルのメンテナンス

リモート シェル ツールを使用すると、インシデント対応時の遅延を軽減できます。インシデントの手順に応じて、IT はログの収集、問題のあるプロセスの停止、危険なサービスの無効化、またはアクセスの隔離が必要になる場合があります。必要に応じて、変更前に関連する証拠を保存します。リモートの従業員にとって、準備された応答により、問題が解決されないままユーザーが複雑な指示に従うことに依存することがなくなります。

ファイル管理も実用的な用途です。管理者は、必要なファイルが存在するかどうかを確認したり、ストレージを消費する承認済みの一時データを削除したり、更新に備えてエンドポイントを準備したりできます。ファイルを変更または削除するコマンドには特に注意が必要です。解決されたターゲット パスを確認し、明確な名前を使用し、スコープ全体が検証されない限り広範なワイルドカードを避けてください。変更がネットワーク接続に影響を与える場合にアクセスを維持する方法を計画します。

08ダウンタイムを増やすリモート シェルのミスを避ける

コマンド ウィンドウは変更管理の一部である必要があります。迅速なアクションは貴重ですが、テストされていないコマンドはユーザーを混乱させたり、必要なデータを削除したり、異なるコンピューターに一貫性のない構成を残したりする可能性があります。実行前に、影響を受けるデバイスと必要な結果を確認してください。

繰り返しのタスク用に、承認されたコマンドとスクリプトの小さなライブラリを構築します。それぞれの動作、必要な権限とシェル、成功を示す出力、可能な場合に変更を元に戻す方法を文書化します。特にオペレーティング システム、PowerShell モジュール、またはエンドポイント構成が異なる場合は、広く使用する前に代表的なデバイスでテストしてください。

タイミングは重要です。サービスを再起動すると、アクティブな作業が中断される可能性があります。コンピュータを再起動すると、保存されていないセッションが終了する可能性があります。技術的には成功したコマンドでも、給与処理、カスタマー サポート、または期限内では不適切な決定となる可能性があります。アクションが従業員に影響を与える場合は、画面の可視性、ユーザーとのコミュニケーション、メンテナンスのスケジュール設定プロセスを使用します。

リモート シェル アクセスは、組織の書面アクセス ポリシーおよび該当する従業員通知に基づいて、会社が承認したデバイスでのみ使用してください。タスクの目的に合わせて権限、記録アクセス、保持を維持します。管理制御は、管理されていない危険源を生み出すことなく、ビジネス システムとデータを保護する必要があります。

リモート シェル管理は、制御された反復可能なプロセスとして最適に機能します。適切な技術者が適切なエンドポイントで適切なコマンドを実行し、結果を検証して記録し、ビジネスを継続させます。

09リモート シェル管理に関する質問

リモート シェルとリモート デスクトップの違いは何ですか?

リモート シェルはテキスト コマンドをリモート コンピュータに送信し、出力を返します。リモート デスクトップを使用すると、技術者はグラフィカル インターフェイスを操作できます。特定のチェックと反復可能なメンテナンス、およびユーザーの視覚的なコンテキストが重要な場合の画面表示またはリモート制御にはシェルを使用します。

リモート管理には CMD または PowerShell を使用する必要がありますか?

CMD は、使い慣れた Windows コマンドと既存のバッチ ファイルに適しています。 PowerShell は、構造化されたシステム情報と保守可能な自動化に役立ちます。タスクをサポートするインタープリターを選択し、そのバージョン、使用可能なコマンド、および実行アカウントを確認します。

すべてのリモート コンピューターで sh と ksh を使用できますか?

いいえ。シェルと必要なユーティリティは互換性のあるシステムにインストールする必要があり、リモート アクセス方法がそのエンドポイントをサポートしている必要があります。実際のインタープリタのパスを確認してください。 ksh 機能を必要とするスクリプトは、互換性をテストせずに sh で実行しないでください。

リモート端末出力は完全な監査ログを提供しますか?

単独ではありません。ターミナル出力はセッション中に役立ちますが、永続的なレコードは構成したログ記録と保存期間に依存します。オペレーター、エンドポイント、時間、コマンドまたはスクリプトのバージョン、関連する出力、および検証された結果を承認済みのシステムに保存します。

リセット端子はコマンドによる変更を元に戻しますか?

いいえ。現在のシェルを停止し、クリーンなセッションを開始します。コマンドによってすでに変更されたファイル、設定、またはその他の状態には、独自の回復手順が必要です。