• ベストアンサー

ターミナルサービスでクライアントのローカルディスクにアクセスしたい

ターミナルサービスを使用しています。 VB.NETでクライアントのローカルデスクにアクセスしたいのですが、アクセス方法が分かりません。 一応、ターミナルサービスに接続する際に、「ローカルディスク」のローカルデバイスのデスクドライブにチェックを付けているので、ターミナルサービスに接続した際にエクスプローラー上ではクライアントのディスクを使える状態にはなっています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>WTSQuerySessionInformation リモートクライアント名かIP取れました?私は取れませんでした。 リモートユーザは、ターミナルサービスマネージャを見ると、各セッションIDごとに管理されているようですね。 一応セッションIDを取得する方法です。 別の方法で取ることができるのかも知れませんが、私はこれぐらいしか知りません。 Private Function GetセッションID() As Integer   Const con_SessionId As String = "SessionId"   Dim obj32Proc As Object   Dim objProperty As Object   Dim intCount As Integer = 0   Dim strSQL As String = "SELECT " & con_SessionId & " FROM Win32_Process WHERE handle = " & Process.GetCurrentProcess.Id   For Each obj32Proc In GetObject("winmgmts:").ExecQuery(strSQL)     For Each objProperty In obj32Proc.Properties_       If (objProperty.Name.ToString = con_SessionId) Then         Return CType(objProperty.Value, Integer)       End If     Next     Exit For   Next End Function アクセスする方法は http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/Default.asp?url=/resources/documentation/WindowsServ/2003/standard/proddocs/ja-jp/mstsc_local_files.asp \\マシン名\ドライブ だそうです。(と書いている最中にtodo36さんの書きを発見^^;) ただ接続先が別ドメインの場合、ドメイン越えでローカルにアクセスするようになるようです。 ドメインをまたぐLAN環境にしておかないと、クライアント環境の整備だけではつながりませんでした。 質問の内容が.NETっていうより、↓かな^^; TOP > コンピューター [技術者向け] > 運用・管理 http://okweb.jp/oshiete.php3?c=708 セッションIDからリモートクライアント情報が抜けたら何とかいけると思うのですが、、、

hara30s
質問者

お礼

返信ありがとうございます。 クライアントのローカルディスクへのアクセス方法は何とかなりました。エクスプローラからクライアントのディスクを見てみたら「\\tsclient\A\フォルダー名」になってました。 これでVB.netでアクセスできたので多分問題ないかと思います。ターミナルサービスでローカルディスクにアクセスする方法は他にもあったんですね。気付きませんでした。 後、WTSQuerySessionInformationの件ですが確かに、教えてもらったソースを貼り付けてみて実行してみたのですが、空文字が返ってきていました。 自分でも色々調べてみたのですが、WTSQuerySessionInformationに関する情報はあまり出てないですね。私の調べ方が悪いのかも知れないけど。 このソースでもう一回やってみます。 ありがとうございました。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

へえー。 2003から追加された機能なのですね。 http://support.microsoft.com/?scid=kb;ja;313292&spid=6519&sid=global こちらには実験する環境ないけれど、 クライアント上のファイルのショートカットを作ってプロパティを見れば分かるのでは?

hara30s
質問者

お礼

返信ありがとうございます。 質問した後、ターミナルサービス上でエクスプローラを使ってクライアントのディスクにあるフォルダーを見てみたら「\\tsclient\A\フォルダー名」と出てました。 無事解決しました。