記事検索

検索ワードを入力してください。
Sky Tech Blog
ネットワーク上の​コンピュータを​CUIで​リモート操作する

ネットワーク上の​コンピュータを​CUIで​リモート操作する

CUI(Character User Interface)とは、キーボードで文字を入力してコマンドを実行する操作方法です。この記事では、PowerShellを使用してリモート操作を行う方法について説明しています。具体的には、リモートデスクトップ接続ではなく、PowerShellのコマンドラインシェルを使って、ログオンせずにリモート操作を行う手順を紹介しています。

CUI(Character User Interface) とは、ざっくりと説明すると、コマンドラインやターミナルのように、 キーボードで文字を入力してコマンドを実行する操作方法です。
表示されるウィンドウをマウスなどで操作する操作方法は、 GUI(Graphical User Interface) といいます。

Windows標準では「リモート デスクトップ接続」というGUI操作のリモート操作方法が提供されていますが、 今回は、PowerShellのコマンドラインシェルでリモート操作を行う方法を説明します。 この方法を使うと、コンピュータにログオンしない状態でリモート操作が行えます。

ログオン時に動作するソフトウェアが動作する前にログなどを確認したいとき等に使っていました。

手順

1.リモートしたい​端末の​PowerShellを​管理者権限で​実行します。

Windows 11だと、スタートボタン右クリックして「ターミナル(管理者)」を実行してください。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

PS C:\WINDOWS\system32>

2.接続コマンドを​入力します。

ドメインのコンピュータからドメインのサーバーに接続してみます。
 ドメイン:Domain111
 ユーザー:Administrator
 サーバー:Server111

Enter-PSSession -ComputerName Server111 -Credential domain111\Administrator

指定したユーザーで認証します。
-Credential オプションを付けないと、PowerShellを管理者権限で起動したユーザーで認証されます。

3.成功すると、​左側に​接続した​サーバー名が​表示されます。

PS C:\WINDOWS\system32> Enter-PSSession -ComputerName Server111 -Credential domain111\Administrator
[Server111]: PS C:\Users\Administrator\Documents>

※以下のエラーが出る場合は

PS C:\Users\Administrator> Enter-PSSession -ComputerName Client115 -Credential domain111\Administrator
Enter-PSSession : リモート サーバー Client115 への接続に失敗し、  
次のエラー メッセージが返されました: WinRM は処理を完了できません。

接続先で、PowerShellを管理者権限で起動し、以下のコマンドを実行してください。

Enable-PSRemoting -Force

実行すると以下のように設定が行われます。

PS C:\Users\Administrator> Enable-PSRemoting -Force
WinRM は要求を受信するように更新されました。
WinRM サービスの種類を正しく変更できました。
WinRM サービスが開始されました。

WinRM はリモート管理用に更新されました。
WinRM ファイアウォールの例外を有効にしました。

4.これで​接続した​端末を​ CUI で​操作できます。

プログラムを実行すると、リモート先で実行されます。
メモ帳でファイルを開こうとしても、メモ帳はリモート先で実行されます。
そして、非表示で実行されるので、ウィンドウ表示されるソフトウェアは起動しない方がいいです。

コマンドを実行してみます。

ログオンユーザーを確認するコマンド query user

[Server111]: PS C:\Users\Administrator\Documents> query user
query : * に対するユーザーは存在しません。
    + CategoryInfo          : NotSpecified: (* に対するユーザーは存在しません。:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

誰もログオンしていないとこういう回答になります。
接続先にログオンして再度実行すると、コンソールに入っているユーザーがわかります。

[Server111]: PS C:\Users\Administrator\Documents> query user
                                                      アイドル

 ユーザー名           セッション名       ID  状態    時間       ログオン時刻

 administrator        console        2  Active  none   2025/04/01 18:00

type もしくは Get-Content コマンドレットでログファイルを確認したり、 コマンドでできることがリモートで行えます。

5.終了する​時は、​PowerShellを​閉じるか、​exit コマンドレットで​接続を​終了します。


XFacebookLINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム