- - PR -
net user コマンドについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-28 17:45
こんにちは。
色々とご説明頂きましてありがとうございます。 頂きましたヒントを元に以下のように作成してみました。 Dim cn cn = InputBox("ユーザー名 を入力してください", "ユーザー名 入力ダイアログ", "例 Taro Yamada") Dim ou ou = InputBox("組織単位(OU) を入力してください", "組織単位(OU) 入力ダイアログ", "例 営業部") Set objUser = GetObject("LDAP://cn=" & cn & ",ou=" & ou & ",dc=jp,dc=hoge,dc=com") Set objLastLogon = objUser.Get("lastLogon") intLastLogonTime = objLastLogon.HighPart * (2^32) + objLastLogon.LowPart intLastLogonTime = intLastLogonTime / (60 * 10000000) intLastLogonTime = intLastLogonTime / 1440 Wscript.Echo "Last logon time + 9: " & DateAdd("h", 9, intLastLogonTime + #1/1/1601#) これで問題なくScriptが実行されるのですが、 表示されるダイアログ画面でキャンセルをクリックしても 処理が進んでしまいます。 ユーザーがキャンセルボタンをクリックした時点で 処理を中止する場合には、どのような宣言をしてあげればよいのでしょうか? 以下のようなScriptを見つけたのですが、 どのように工夫すれば、今実行しているScriptに埋め込めるのか 悩んでおります。 1: Set objShell = WScript.CreateObject("WScript.Shell") 2: iBtn = objShell.Popup( _ 3: "中止する場合は「キャンセル」を押してください。", _ 4: 5, "処理を実行しますか?", vbOKCancel+vbQuestion) 5: 6: Select Case iBtn 7: Case vbOK 8: objShell.Popup "実行しました。", 5,, vbInformation 9: Case vbCancel 10: objShell.Popup "キャンセルしました。", 5,, vbInformation 色々とご質問ばかりで大変申し訳ないのですが、 宜しく御願いいたします。 | ||||
|
投稿日時: 2006-07-28 20:53
ueです。
InputBox 関数 で表示されたダイアログで[キャンセル]を選択すると、戻り値として Empty が返ります。 その挙動を利用して条件分岐ができます。 IsEmpty 関数 を使用します。
こんな感じです。 いかがでしょうか。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||
|
投稿日時: 2006-07-30 20:46
こんばんは。
いつもありがとうございます。 スクリプトは以下のようになりました。 Dim cn cn = InputBox("名前を入力してください", "名前ダイアログ", "例 Taro Yamada") If IsEmpty(cn) Then WScript.Echo "キャンセルされました" Else Wscript.Echo "本来の処理: " & cn End If Dim ou ou = InputBox("組織名を入力してください", "組織入力ダイアログ", "例 営業部") If IsEmpty(ou) Then WScript.Echo "キャンセルされました" Else Wscript.Echo "本来の処理: " & ou End If Set objUser = GetObject("LDAP://cn=" & cn & ",ou=" & ou & ",dc=jp,dc=hoge,dc=com") Set objLastLogon = objUser.Get("lastLogon") ここで更に改良をしたいと考えております。 Dim ou、Dim cnの入力画面でキャンセルかバツボタンを選択した際 InputBox関数の場合、空欄("")が返ると思うのですが、 この状態でスクリプトを進めても最終的にデーターが入力されて いないのでエラーが発生してしまいます。 その為、Dim ou、Dim cnのどちらか或いは両方に空欄がある場合には、 Set objUserに進まず、スクリプトを終了させたいと思います。 データーが入力されていないので終了します。という感じです。 この場合、Dim ouやcnのデーターをチェックする関数か何かで 定義すれば良いのでしょうか? また、ouとcnのデーターを入力してサーバーを参照した際、 ユーザーが存在しなかった場合、ユーザーは存在しませんでした。 というメッセージを表示させたいと思います。 そこまでやると難しいスクリプトになりますでしょうか? どうぞ、宜しく御願いいたします。 |