locked
Windows Server 2003にリモート接続しているユーザーを自動で定刻に強制ログオフさせたい RRS feed

  • 質問

  • 構成:

    サーバA:Windows Server 2003 R2 Standard Edition SP2 Active Directoryにてドメインのユーザーを管理

    サーバB:Windows Server 2003 R2 Standard Edition SP2 サーバAのドメインに参加

    サーバAの管理下のユーザーが、自分のPC(←ドメイン参加)からサーバBにリモートデスクトップ接続して複数人で作業をするのですが、

    ログオ フし忘れによるリソース枯渇を少なくするため、定刻(例えばAM2:00とか)に

    ログオフしていないユーザーを自動で強制的にログオフさせ たいと考えています。

    色々と調査しているのですが、上記OSの標準機能で可能かわかりませんでした。

    ユーザーが使用しているPCもドメインに参加しており、そちらへの影響なしに、

    サーバAへのリモート接続のみ強制的にログオフさせたいです。

    上記のようなことは可能なのでしょうか?

    2010年6月2日 7:36

回答

  • strServer = "192.168.0.1"
    Set objWMIService = GetObject("winmgmts:{impersonationLevel= impersonate,(Shutdown)}\\" & strServer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") 
    For Each objOperatingSystem in colOperatingSystems 
            objOperatingSystem.Win32Shutdown(0)
    Next
     

    このスクリプトをタスクに仕込めば定時に強制的にログオフさせられると思います。


    WIN1
    • 回答の候補に設定 三沢健二 2010年6月9日 7:47
    • 回答としてマーク 三沢健二 2010年6月15日 5:41
    2010年6月4日 1:58
  • こんにちは。

    ターミナルサーバーコマンドのlogoff , tsdiscon , qwinstaを使ってサーバー側でユーザーの接続を強制的に切断、またはログオフさせる事ができます。(ユーザーのローカルログオンはそのまま、ターミナル接続だけ切断またはログオフできます)
    タスクスケジュールやatコマンドを利用し、これらのコマンドを定刻で実行させてはどうでしょうか。
    使い方はこちらです。

    http://www.atmarkit.co.jp/fwin2k/win2ktips/1226rmtlogoff/rmtlogoff.html

    • 回答の候補に設定 三沢健二 2010年6月9日 7:47
    • 回答としてマーク 三沢健二 2010年6月15日 5:41
    2010年6月4日 7:21

すべての返信

  • 定刻にログオフさせる方法ではないのですが、特定のターミナルサーバーのみへのリモートデスクトップ接続時間を制限するのであれば「ターミナルサーバーの構成」で設定すればよいのでは。

     

    http://www.atmarkit.co.jp/fwin2k/win2ktips/709rdptimeout/rdptimeout.html

     

     


    試験問題作成委員会(http://shikenmondai.blog.shinobi.jp/)
    2010年6月2日 10:25
  • 試験問題製作委員会様

    ありがとうございます。

    実はリモートデスクトップ接続時間を制限することはユーザーに提案してはみたのですが、

    どうしても「定刻に」強制ログオフさせること望んでいるのです…。

    2010年6月3日 0:23
  • strServer = "192.168.0.1"
    Set objWMIService = GetObject("winmgmts:{impersonationLevel= impersonate,(Shutdown)}\\" & strServer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") 
    For Each objOperatingSystem in colOperatingSystems 
            objOperatingSystem.Win32Shutdown(0)
    Next
     

    このスクリプトをタスクに仕込めば定時に強制的にログオフさせられると思います。


    WIN1
    • 回答の候補に設定 三沢健二 2010年6月9日 7:47
    • 回答としてマーク 三沢健二 2010年6月15日 5:41
    2010年6月4日 1:58
  • こんにちは。

    ターミナルサーバーコマンドのlogoff , tsdiscon , qwinstaを使ってサーバー側でユーザーの接続を強制的に切断、またはログオフさせる事ができます。(ユーザーのローカルログオンはそのまま、ターミナル接続だけ切断またはログオフできます)
    タスクスケジュールやatコマンドを利用し、これらのコマンドを定刻で実行させてはどうでしょうか。
    使い方はこちらです。

    http://www.atmarkit.co.jp/fwin2k/win2ktips/1226rmtlogoff/rmtlogoff.html

    • 回答の候補に設定 三沢健二 2010年6月9日 7:47
    • 回答としてマーク 三沢健二 2010年6月15日 5:41
    2010年6月4日 7:21
  • こんにちは、フォーラムオペレーターの三沢健二です。

    みなさん、様々なアドバイスありがとうございます。

    今回は、WIN1 さんと 中年やっちゅうねん さんに案内いただいた内容で実現できるのではと思いましたので、お二人の回答に [回答としてマーク] のチェックを付けさせていただきました。
    その後実際に試された結果などをお知らせいただけると嬉しいです。


    それでは、今後とも TechNet Forum をよろしくお願いします。

    ______________________________________
    マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2010年6月15日 5:43