ADの操作を自PCで!RSATについて

院内ヘルプデスクRSAT, リモートデスクトップ

病院内のPCはドメインというものに参加しています。ドメインに参加することで管理しやすくなります。例えばファイルサーバーへのアクセス権の設定や、グループポリシーによるPCの制御など管理者にとってメリットが多いです。 過去の記事でもADやグループポリシーを使用した例などがあるのでよければご覧ください。

https://hospital-se.work/?s=ドメイン

今回はドメインに参加したパソコンを管理する際に気になっていた問題点とその解決方法を紹介していきます。

ドメインコントローラー

このように便利なドメインですが、管理しているマシンがドメインコントローラーと呼ばれ、主にWindows Serverというサーバーマシンで動いています。このサーバーマシン上で様々なサービスが動いていて、ドメインやDHCPなど動かすことができます。

リモートデスクトップとは

遠隔にあるサーバーや普通のWindowsマシンを、まるで直接操作しているように使えるのがリモートデスクトップという機能です。サーバーマシンは大体サーバールームというガンガンに冷房など空調が効いている場所にあることがあるので、普段の作業場所とは違うところにあることが多いです。そのような場所に毎回行くのも面倒ですし、冷房がガンガン効いているので長時間作業すると寒くなります。

そもそも、サーバーマシンにはモニタを繋げていないことも多いので、遠隔操作が前提になっていることもあります。 そのためどこからでも快適な環境で操作できるリモートデスクトップが有効となります。

問題点

このドメインコントローラーにアクセスする際にRDP(Remote Desktop Protocol)という方法で接続するのですが、大体アクセスするユーザーは院内SEメンバー(管理者)になります。そして接続する際に指定するユーザーはAdministratorで接続するケースが多いと思います。 そうすると誰かがAdministratorでアクセスしている最中に別の人がアクセスを行うと、後からアクセスした人が操作できる状態になり、先に接続していたユーザーは強制的に切断されることがあります。先に接続していたユーザーは操作の途中で切断されてイライラするし、後から接続する人も誰か使っていないかなぁと気を遣ってしまう人もいると思います。セッションを奪ってしまうと気まずいし奪った方も警告が出ないので気づかない場面も多いです。

おそらくWindows Serverのデフォルトだと上記の状態になると思いますが、解決策となり得るを見つけたので紹介したいと思います。

解決法1

まず、一つは先に接続している人がいないか確認するコマンドを使用する方法です。接続しようとしている人がコマンドを入力すると誰が接続しているか分かるので、不意に接続を奪ってしまう可能性を減らせます。 方法としては、まず初めにリモートデスクトップ先の資格情報を保存しておく必要があります。接続する際にパスワードを保存するチェックをつけて接続するか、資格情報マネージャーから入力しておきます。その後下記のコマンドを入力します。

qwinsta /server:(サーバー名)

コマンド入力することで、下記のように表示されるのでrdp-tcpの列状態がActiveだと誰かが接続中なので使っている方に声をかけて使っていいか聞くことができますし、Discだと誰も使っていないので、安心して接続できます。

C:\>qwinsta /server 192.168.1.1
 セッション名     ユーザー名             ID  状態   種類  デバイス
 services                              0   Disc
 rdp-tcp#1       administrator         5   Active

問題としては、接続する人全員に周知しないと自分が接続しているときにセッションを奪われる可能性があるので、全員の共通認識にしましょう。

解決法2

次の方法は接続先のグループポリシーで後から接続しようとしたユーザーに警告を出す方法です。そうしたら先客がいるんだなと分かるので接続しているユーザーに声かけして不意にセッションを奪うことを回避できると思います。

設定方法は、接続先のグループポリシーエディタを開き「ローカルコンピューターポリシー」、「コンピューターの構成」、「管理用テンプレート」、「Windowsコンポーネント」、「リモートデスクトップサービス」、「リモートデスクトップセッションホスト」、「接続」を選んでいきリモート デスクトップ サービス ユーザーに対してリモート デスクトップ サービス セッションを 1 つに制限する を無効にすればOKです。

この設定を行うとリモートデスクトップ接続できる接続数が2つまで接続できるようになります。同時接続数が3つ以上になろうとした時に警告が出るので問題は解決できます。しかし同時接続数が増えるのでまた別の問題があるかもしれません。

解決法3

最後の方法はリモートデスクトップで接続せずに、ドメイン環境下のローカルPCでWindows Serverの設定を管理できるRSAT(Remote Server Administration Tools)と呼ばれるツールです。これを導入することでWindows Serverで行う設定をローカルPCで確認・編集できるようになります。

いろいろなツール群になっているのでWindows Serverで行う設定のさまざまなところがローカルPCで行えるので便利です。

RSAT導入方法

導入方法としてはRSATのソフトウェアダウンロードしてインストールする方法と、windowsの機能の有効化または無効化からRSATを検索して必要なツールを有効化する方法、そして、PowerShellからコマンドでインストールする方法があります。

下記のコマンドでRSATに関する機能一覧を表示できます。私の場合21個が見つかりました。

Get-WindowsCapability -Name RSAT* -Online | Select-Object -Property DisplayName, State
DisplayName                                                                                   State
-----------                                                                                   -----
RSAT: Active Directory Domain Services およびライトウェイト ディレクトリ サービス ツール NotPresent
RSAT: Azure Stack HCI 用の PowerShell モジュール                                         NotPresent
RSAT: BitLocker ドライブ暗号化管理ユーティリティ                                         NotPresent
RSAT: Active Directory 証明書サービス ツール                                             NotPresent
RSAT: DHCP サーバー ツール                                                               NotPresent
RSAT: DNS サーバー ツール                                                                NotPresent
RSAT: フェールオーバー クラスタリング ツール                                             NotPresent
RSAT: ファイル サービス ツール                                                           NotPresent
RSAT: グループ ポリシー管理ツール                                                        NotPresent
RSAT: IP アドレス管理 (IPAM) クライアント                                                NotPresent
RSAT: データ センター ブリッジング LLDP ツール                                           NotPresent
RSAT: ネットワーク コントローラー管理ツール                                              NotPresent
RSAT: ネットワーク負荷分散ツール                                                         NotPresent
RSAT: リモート アクセス管理ツール                                                        NotPresent
RSAT: リモート デスクトップ サービス ツール                                              NotPresent
RSAT: サーバー マネージャー                                                              NotPresent
RSAT: ストレージ移行サービス管理ツール                                                   NotPresent
RSAT: Windows PowerShell 用記憶域レプリカ モジュール                                     NotPresent
RSAT: Windows PowerShell のシステム インサイト モジュール                                NotPresent
RSAT: ボリューム ライセンス認証ツール                                                    NotPresent
RSAT: Windows Server Update Services ツール                                              NotPresent

そしてそれらをまとめてインストールするには、下記のコマンドを使います。

Get-WindowsCapability -Name RSAT* -Online | Add-WindowsCapability –Online

不足しているRSATツールのみをインストールするには、次のコマンドを実行します。

Get-WindowsCapability -Name RSAT* -Online | where State -EQ NotPresent | Add-WindowsCapability –Online

起動方法

インストールができたら Windows Tools というのがスタートメニューに追加されているのでそこからひらけます。それを開くとWindows Serverの機能1つ1つがアイコンとして並んだフォルダが表示されるので、ユーザーやコンピューターの管理、グループポリシーなどが操作できるようになります。

まとめ

以前からサーバーに接続する際に気になっていた問題ですが、今回調べてみることでいくつか解決策となる方法が見つかりました。周りも同じ問題意識を持っていたと思いますが、それが当たり前だと決めてしまうと問題解決の道は遠ざいてしまいます。今回調べてみたら個人の設定を変えるだけのものから、ツールの導入などいくつかの方法があったのでどれかの方法は取り入れることができると思います。

不便な点があっても業務で翻弄されているとなかなか改善できないものですが、不満や改善点はメモしておき時間がある時に少しずつでも対処できればいいなと思います。