前のトピック: PUPM 自動ログイン アプリケーション スクリプトをカスタマイズする方法

次のトピック: 拡張ログイン

PUPM 自動ログイン アプリケーション Visual Basic スクリプト

PUPM 自動ログイン アプリケーションでは、Visual Basic スクリプトを使用して自動ユーザ ログインを有効にします。 新しいログイン アプリケーションを作成または既存のログイン アプリケーションを変更するために Visual Basic スクリプトをカスタマイズできます。

PUPM 自動ログイン アプリケーション スクリプトには、エンタープライズ管理サーバからクライアント マシン上へのダウンロード時に ActiveX によって値が置換される変数が含まれています。 エンタープライズ管理サーバによりスクリプトが処理され、キーワードが値に置換されます。 次に、ActiveX によりクライアント マシン上でスクリプトが実行されます。

PUPM 自動ログイン アプリケーション スクリプトは以下のディレクトリにあります。

JBOSS_HOME/server/default/deploy/IdentityMinder.ear/config/sso_scripts

要素

PUPM ログイン アプリケーション スクリプトには以下のキーが含まれます。

#host#

ユーザが自動的にログインするエンドポイントの名前を指定します。

#username#

チェックアウトされた特権アカウントを指定します。

#password#

チェックアウトする特権アカウントのパスワードを指定します。

#userdomain#

(Active Directory)特権アカウント ドメイン名を指定します。

#isActiveServletUrl#

ACLauncher ActiveX でアカウント パスワード チェックイン イベントを確認するために使用する URL を指定します。

#CheckinUrl#

ACLauncher ActiveX で、ユーザがエンドポイントからログアウトした場合にアカウント パスワードをチェックインするために使用する URL を指定します。

#SessionidUrl#

ACLauncher ActiveX で、セッションが ObserverIT Enterprise に記録された場合に記録されたセッション ID を送信するために使用する URL を指定します。

PUPM 自動ログイン アプリケーションの以下のコードの一部は、変数がどのように表示されるかを示しています。

Set pupmObj = CreateObject("ACLauncher.ACWebLauncher")
hwnd = pupmObj.LauncheRDP("#host#", "#userDomain#¥#userName#", "#password#")
' Set window close event
pupmObj.SetWindowCloseEvent(hwnd)
' Set server checkin event
pupmObj.SetServerCheckinEvent("#isActiveServletUrl#")
' Wait until one of the events signaled
rc = pupmObj.WaitForEvents()
If rc = 1 Then 'user has closed the window - notify the server side
	pupmObj.SendCheckinEvent("#CheckinUrl#")
ElseIf rc = 2 Then 'timeout elapsed - close the window
    call pupmObj.CloseWindow(hwnd, 0)
ElseIf rc = 3 Then 'the account was checkedin at the server side - close the window
    call pupmObj.CloseWindow(hwnd, 120)
End If

構造

PUPM の自動ログイン アプリケーション スクリプトの構造は以下のとおりです。

ログイン アプリケーション セッションを記録するには、スクリプトに記録命令を、以下に従って追加します。

メソッド

ACLauncher ActiveX では以下のメソッドを使用します。

LauncheRDP  (BSTR  bsHostName, BSTR bsUserName, BSTR  bsPassword,  VARIANT *phWindow);

入力クレデンシャルでリモート デスクトップ セッションを開始し、リモート デスクトップ ウィンドウ ハンドルを返します。

例: Dim test Set test = CreateObject("ACLauncher.ACWebLauncher") Hwnd = test.LauncheRDP("hostname.com", "hostname¥administrator", "password")

LaunchePUTTY   (BSTR bsHostName,  BSTR bsUserName, BSTR bsPassword,  VARIANT *phWindow);

入力クレデンシャルで PuTTY セッションを開始し、PuTTY ウィンドウ ハンドルを返します。

例: Dim test Set test = CreateObject("ACLauncher.ACWebLauncher") Hwnd = test. LaunchePUTTY ("hostname.ca.com", "root", "password")

LauncheProcessAsUser (BSTR bsApplication, BSTR bsCommandline, BSTR bsUsername, BSTR bsPassword, VARIANT *phWindow);

入力クレデンシャルでプロセスを開始し、プロセス ウィンドウ ハンドルを返します。

例: Dim test Set test = CreateObject("ACLauncher.ACWebLauncher") Hwnd = test.LauncheProcessAsUser("cmd.exe", "/k echo This console is run under %USERNAME% account...", "administrator" , "password")

GetWindowProcessID(VARIANT *phWindow, LONG *pProcessID);

指定されたウィンドウ ハンドルのプロセス ID を返します。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") id = test.GetWindowProcessID(hwnd) test.Echo "Process ID = " & id

GetWindowTitle(VARIANT *phWindow, BSTR *pbsTitle);

指定されたウィンドウ ハンドルのタイトルを返します。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") title = test.GetWindowTitle(hwnd)

CloseWindow(VARIANT *phWindow, LONG Seconds);

ウィンドウが X 秒後に閉じることを通知するメッセージを含むダイアログ ボックスを表示し、指定されたウィンドウ ハンドルのウィンドウを閉じます。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") test.Sleep(5000) test.CloseWindow(hwnd, 60)

SetTimeoutEvent(LONG seconds);

"WaitForEvents" メソッドのタイムアウトを指定します。 タイムアウト値に達すると、WaitForEvents メソッドは、タイムアウトに達したことを示す戻り値で、ブロックしているコールから戻ります。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") test.SetTimeoutEvent(10)

SetWindowCloseEvent(VARIANT *phWindow);

"WaitForEvents" メソッドに対してウィンドウを閉じるイベントを指定します。 ウィンドウが閉じられた後、"WaitForEvents" メソッドは、ブロックしているコールから戻り、ウィンドウが閉じられたことを示す戻り値を表示します。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") test.SetWindowCloseEvent(hwnd)

SetServerCheckinEvent(BSTR bsURL);

PUPM チェックイン イベントを、実行ブロック条件として設定します。 ActiveX は 5 秒ごとに PUPM をクエリします。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") test.SetServerCheckinEvent("http://server.com/__azy?djfhwek5jy34brfhwkeb") (replace with variable)

WaitForEvents(VARIANT *pRetVal);

レジスタ条件の 1 つに該当するまで、スクリプトの実行をブロックします。

オプション: 1 -- ユーザによってウィンドウが閉じられました、2 -- タイムアウトが経過しました、3 -- がサーバ側でチェックインされました

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") test.SetServerCheckinEvent("http://server.com/__azy?djfhwek5jy34brfhwkeb")

test.SetWindowCloseEvent(hwnd) test.SetTimeoutEvent(360) rc = test.WaitForEvents() If rc = 3 Then call test.CloseWindow(hwnd, 10) End If

SwitchToThisWindow(VARIANT *phWindow);

ウィンドウを Z 順の最前面に移動させます

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password") test.SwitchToThisWindow(hwnd)

SendCheckinEvent(BSTR bsURL);

ユーザがウィンドウを閉じたら、チェックイン イベントを送信します。

例: Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.LauncheRDP("hostname", "administrator", "password")

Sleep(LONG milliseconds);

スクリプトの実行を一時停止します。

Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.Sleep(2000)

Echo(VARIANT* pArgs);

メッセージを画面に出力します、

Set test = CreateObject("ACLauncher.ACWebLauncher") hwnd = test.Echo("Password Checkin")