こけめも

メモみたいなもの

ワークグループ環境で、Windows7のリモートアシスタンスを招待ファイルなしで使う方法

端末のサポートを行っていると、リモート接続で端末の状態を見たい、実際に操作をしたい、というケースがあります。


Windows7でその必要が発生した時、みなさんはどうしているでしょうか?
いくつか方法はありますが、ざっくり分けると以下の三点になるのではないでしょうか。

リモートデスクトップ
PCの完全コントロール可能。問題現象が発生しているユーザーのパスワードも必要。デスクトップ共有ができない。
リモートアシスタンス
サポートするための機能なのでデスクトップ共有可能。一度セッション切れる度に招待ファイルを送ってもらう必要ある。
VNCなどのサードパーティソフトウェア
内容はそれぞれ異なります。ソフトウェアのインストールが必要。


ちなみに、Windows7にはNetmeetingは存在しませんのであしからず。


参考:
リモート デスクトップ接続と Windows リモート アシスタンスの違いとは
Windows リモート アシスタンス: よく寄せられる質問 - Windows ヘルプ

自己の感覚に基づいた表

種別 リモートデスクトップ リモートアシスタンス サードパーティソフトウェア
デスクトップ共有 ×
接続までの手軽さ △(アカウント要) ×(招待ファイル要) ×(ソフトウェアインストール要)
インターネット経由でのリモート接続 IPを固定できれば○ IPを固定できれば○ インターネット上のサーバーを介すものもある。(セキュリティ的に?)
相手側操作 基本的に不要 一般的に不要

それぞれ特徴がありますが、企業内でのサポートの場合、「利用者の操作内容を見たい」「利用者からパスワード聞けない」「ソフトウェアインストールできない」ということもあるでしょう。
そうなると実質リモートアシスタンス一択となります。


今日は、そんなリモートアシスタンスを使う上でネックとなる『毎回招待ファイルを送ってもらう必要がある』という点の解決策を一つ紹介させていただきます。


定義

ここでは、以下のように用語を定義させていただきます。

リモート操作をしてサポートする側…ヘルパー
リモート操作を受けてサポートされる側…利用者

前提条件

ヘルパー端末、利用者端末ともにWindows7であること
(Homeでは不可)

作業の流れ

[利用者端末] リモート操作用ユーザー作成
[利用者端末] グループポリシー登録
[利用者端末] 利用者端末のIPアドレス取得
[ヘルパー端末] リモート操作用ユーザー作成
[ヘルパー端末] リモート操作用ユーザーにて接続開始

作業手順

○[利用者端末]リモート操作用ユーザー作成
偉そうなこと言いましたが、いきなり利用者端末での操作です。
端末を配布する前に仕込んでおくか、一度は招待ファイルを送ってもらいその時に仕込みましょう。


新規ユーザーを作成しましょう。
仮に、ユーザー名「a」、パスワード「1」としておきます。


ユーザーにはAdministrator権限を与えます。


batで書くならこんな感じ

rem ユーザー a 作成
net user a 1 /add
rem ユーザー a をAdministrators グループに追加する
net localgroup Administrators a /add
おまけ

次のレジストリを登録すると、ログイン時のユーザー一覧にユーザーを表示するかどうか設定できます。
上記リモート操作用ユーザーは、利用者にとっては不要なので隠蔽しておきましょう。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
エントリー名 :ユーザー名
値 :0の時非表示、1の時表示


例)

rem ユーザー a 非表示
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v a /t REG_DWORD /d 0 /f


○[利用者端末]グループポリシー登録

ローカルグループポリシーを設定します。
「ファイル名を指定して実行」に「gpedit.msc」と入力しOKボタンクリックしてください。
「ファイル名を指定して実行」がない場合は、「プログラムとファイルの検索」に「gpedit.msc」を入力しても良いです。


ローカルグループポリシーエディターが起動したら、[コンピューターの構成]→[管理用テンプレート]→[システム]→[リモートアシスタンス]を開きます・

[要請されたリモート アシスタンス]
有効に変更。内容はデフォルトでOK。
[リモート アシスタンスを提供する]
有効に変更。[ヘルパー]の値に リモート操作用ユーザー を入力してOK(今回の例で言うと「a」)。コンピューター名は不要





○[利用者端末]利用者端末のIPアドレス取得
ipconfig でも、ネットワークと共有センターからでもいいので、利用者端末のIPアドレス(もしくはコンピューター名)を取得して控えておきます。



○[ヘルパー端末]リモート操作用ユーザー作成[ヘルパー端末]
利用者端末に作成したものと同じユーザー名、パスワードのユーザーをヘルパー端末にも作成しておきます。
今回の場合、ユーザー名「a」パスワード「1」です。


○[ヘルパー端末]リモート操作用ユーザーにて接続開始
リモート操作用ユーザーとしてリモートアシスタンス起動します。(今回の場合ユーザー名「a」)
runas コマンドを利用することで、ログインユーザー切り替えることなく利用可能です。

 runas /user:a cmd
 
 (起動したコマンドプロンプト上で)
 msra /offerra


起動したウインドウで、利用者端末のIPアドレスかコンピューター名を入力します。


利用者の端末には「接続を許可するかどうか」という旨のメッセージが表示されるので、「はい」ボタンをクリックしてもらいます。
もしリモートアシスタンス中に上記利用者端末の設定を行なっている場合は、設定が正しくできているかどうか一度「msra /offerra」を行ってみましょう。
正しく設定できていれば、利用者端末に何らかのメッセージが表示されます。

参考:

Windows リモート アシスタンスを使って社内 IT サポートの効率化を実現!! - Ask the Network & AD Support Team - Site Home - TechNet Blogs
http://blogs.technet.com/b/jpntsblog/archive/2009/11/30/windows-it.aspx


今回の記事は、上記を参考に、ドメイン参加していないPCでも使用できるようにほんのちょっとアレンジを加えたものです。

最後に

リモート接続は臨機応変に使い分けましょう。


たとえば、「ユーザープロファイル壊れたんで復元して欲しい」なんて言われた時は、リモートデスクトップ用に新規ユーザー作ってもらい、それでリモート操作を行っています。


自分が管理する端末が遠隔地にある場合は、リモートデスクトップサードパーティ製ソフトウェア(VNCなど)です。


私もまだまだですが、みなさんも特徴を見極めて快適なリモート接続ライフを!