dポイントプレゼントキャンペーン実施中!

ターミナルサービスを使用しています。

VB.NETでクライアントのローカルデスクにアクセスしたいのですが、アクセス方法が分かりません。

一応、ターミナルサービスに接続する際に、「ローカルディスク」のローカルデバイスのデスクドライブにチェックを付けているので、ターミナルサービスに接続した際にエクスプローラー上ではクライアントのディスクを使える状態にはなっています。

よろしくお願いします。

A 回答 (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 …
\\マシン名\ドライブ
だそうです。(と書いている最中にtodo36さんの書きを発見^^;)

ただ接続先が別ドメインの場合、ドメイン越えでローカルにアクセスするようになるようです。
ドメインをまたぐLAN環境にしておかないと、クライアント環境の整備だけではつながりませんでした。


質問の内容が.NETっていうより、↓かな^^;
TOP > コンピューター [技術者向け] > 運用・管理
http://okweb.jp/oshiete.php3?c=708

セッションIDからリモートクライアント情報が抜けたら何とかいけると思うのですが、、、
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

クライアントのローカルディスクへのアクセス方法は何とかなりました。エクスプローラからクライアントのディスクを見てみたら「\\tsclient\A\フォルダー名」になってました。
これでVB.netでアクセスできたので多分問題ないかと思います。ターミナルサービスでローカルディスクにアクセスする方法は他にもあったんですね。気付きませんでした。

後、WTSQuerySessionInformationの件ですが確かに、教えてもらったソースを貼り付けてみて実行してみたのですが、空文字が返ってきていました。
自分でも色々調べてみたのですが、WTSQuerySessionInformationに関する情報はあまり出てないですね。私の調べ方が悪いのかも知れないけど。
このソースでもう一回やってみます。

ありがとうございました。

お礼日時:2005/09/02 20:10

へえー。


2003から追加された機能なのですね。
http://support.microsoft.com/?scid=kb;ja;313292& …

こちらには実験する環境ないけれど、
クライアント上のファイルのショートカットを作ってプロパティを見れば分かるのでは?
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

質問した後、ターミナルサービス上でエクスプローラを使ってクライアントのディスクにあるフォルダーを見てみたら「\\tsclient\A\フォルダー名」と出てました。

無事解決しました。

お礼日時:2005/09/02 19:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!