- PR -

ターミナルサービス使用時のログオンスクリプト

1
投稿者投稿内容
EVA
会議室デビュー日: 2005/06/12
投稿数: 5
投稿日時: 2005-06-23 00:22
皆さんこんばんは

ターミナルサービス使用時のログオンスクリプトに関して、ご経験がある方教えて下さい。
現在、W2K3ドメイン所属のXPクライアントがあり、ドメインログオン時にはログオンスクリプトが実行されています(具体的にはウィルス対策のパターン配布)。
それとは別に、業務の関係で同ドメインのメンバーサーバーであるターミナルサーバー(W2K3)に同じドメインユーザーと接続するのですが、同じようにログオンスクリプトが実行されてしまいます。
ターミナルサーバーに接続する際には、ログオンスクリプトの処理をさせたくないのですが、何か回避する手段はあるででしょうか?

@その為だけに、ユーザーアカウントを使いわけたくない
Aログオンスクリプト内の処理で、それがターミナル接続と判断する方法があればそれでもいい
 (こちらで確認したところ、確実なのは %COMPUTERNAME% で判断するぐらいかなと思って  います。
Bポリシーで回避できればベスト

というのが要望です。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-06-23 01:19
こんばんわ.
引用:

EVAさんの書き込み (2005-06-23 00:22) より:

ターミナルサーバーに接続する際には、ログオンスクリプトの処理をさせたくないのですが、何か回避する手段はあるででしょうか?


回避というか,そもそも logon script だからでは?
computer の startup script で処理すればよろしいのでは?
logon script では User が logon する度に処理されますけど,
startup script なら global policy で設定できたのではないかと.

WindowsXP -> startup script で処理
Terminal server -> Task scheduler で処理

という感じで使い分けては如何でしょう?
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-06-23 18:26
Script側でも、Computernameを取得して条件分岐してやれば
いいだけのような気もします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-06-23 21:30
こんばんわ.

個人的には virus pattern の更新を
「user が logon する」という時機でやるのがちょっと気持ち悪いと感じました.
むしろ system 的に back-ground でやるべきじゃなかろうかと.
「べき」ってだけですけどね.
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-06-24 01:23
引用:
個人的には virus pattern の更新を
「user が logon する」という時機でやるのがちょっと気持ち悪いと感じました.
むしろ system 的に back-ground でやるべきじゃなかろうかと.



激しく、同意です。

しかし、どうしてもというのであれば、こんな感じでできるかも?

コード:
Set objWshNetwork = CreateObject("WScript.Network")

With objWshNetwork
    strUserName = .UserName
    strDomain = .UserDomain
End With

Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\.\root\cimv2")

strWQL = "ASSOCIATORS OF {Win32_Account.Domain=""" & strDomain _
    & """,Name=""" & strUserName & """} " _ 
    & "WHERE AssocClass=Win32_LoggedOnUser ResultRole=Dependent"

Set colItems = objWMIService.ExecQuery(strWQL, , 48)

For Each objItem in colItems
    If objItem.LogonType = 10 Then
        WScript.Echo "Terminal Service Session"
        Exit For
    End If
Next



ものすごく中途半端です。
というのは、同じUserのTerminalとLocal Sessionが双方存在した場合、
Terminal Sessionとみなしています。

以上、ご参考までに・・・
EVA
会議室デビュー日: 2005/06/12
投稿数: 5
投稿日時: 2005-06-24 11:36
みなさんありがとうございました。
結局、スクリプトで%COMPUTERNAME%を取得し、ターミナルセッションの場合(コンピュタ-名がターミナルサーバの場合)は配布しないようにしました。

あとパターンファイルの配布ですが、TrendMicroさんのウィルスバスターCorpを使用しており、ファイルベースのシステムの場合は、ログオンスクリプトで配布するようになっています。Win9X系のマシンもありますので、このままにしておきます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-06-24 12:12
こんにちわ.
引用:

EVAさんの書き込み (2005-06-24 11:36) より:

あとパターンファイルの配布ですが、TrendMicroさんのウィルスバスターCorpを使用しており、ファイルベースのシステムの場合は、ログオンスクリプトで配布するようになっています。Win9X系のマシンもありますので、このままにしておきます。


あえて書くことでもありませんが,
logon script でできるなら bat を back-ground で流すほうが良いと思われます.
少なくとも pattern file が設置される場所が利用者から書き込めるほうが怖いです.
※たしか logon script って User 権限で動きますよね?
それに,起動しっぱなしならなおのこと,
logon を契機にしないほうが良いのではないかと.

以上,ご参考までに.
NOZATO
会議室デビュー日: 2005/01/11
投稿数: 3
投稿日時: 2005-07-15 14:07
こんにちは。
引用:
--------------------------------------------------------------------------------

ターミナルサーバーに接続する際には、ログオンスクリプトの処理をさせたくないのですが、何か回避する手段はあるででしょうか?
--------------------------------------------------------------------------------
ADを利用しているならグループポリシーでターミナルサーバに接続時のログオン
スクリプトの処理を行わなくできます。

下記のポリシーをターミナルサービスを実行するコンピュータに適用します。
・コンピュータ構成−管理テンプレート−システム−グループポリシーの
 ユーザグループポリシーループバックの処理モードを有効(置換)

1

スキルアップ/キャリアアップ(JOB@IT)