1

Windows 共有 (\print) に接続しようとしていますが、ユーザー名やパスワードが間違っているなどの理由で認証に失敗した場合、どうすればそのエラーをキャッチできますか? 問題は、スクリプト (exe. ファイル) を実行するときに、間違った資格情報を挿入すると、Autoit プログラムからのエラー メッセージであり、認証に問題がある場合にポップアップしたいメッセージ (上記のコード) ではないことです。

これが私のコードのサンプルです:

ここで、ユーザー名とパスワードを使用してサーバー \print に接続してみます

$WshNetwork = ObjCreate("WScript.Network")
$WshNetwork.MapNetworkDrive("", "\\print", True, $username, $password)

$username と $password の値は、入力ボックスから入力されます。そのため、そのコードの後、次のようなエラーをキャッチしようとしました:

if @error Then
    MsgBox(16, "", "Authentication error!")
EndIf

ちなみに、コンソールから得たエラーは次のとおりです。

C:\Users\user\Desktop\test.au3 (33) : ==> The requested action with this object has failed.:
$WshNetwork.MapNetworkDrive( "","\\print",True, $username, $password)
$WshNetwork.MapNetworkDrive( "","\\print",True, $username, $password)^ ERROR

さて、エラーが発生していますが、コードからエラーをキャッチしてアラート (Msgbox) を送信する方法はありますか?

4

1 に答える 1

1

DriveMapAdd(...)AutoItで調べてください。または、次のようなものを使用してみてください。

$USERNAME = InputBox(...)
$PASSWORD = InputBox(...)
$DRIVEINPUTBOX = InputBox(...)
$SHARE = "\\print\foldername"
$DRIVE = $DRIVEINPUTBOX & ": "

$COMMAND = "NET USE " & $DRIVE & " " & $SHARE & " /USER:" & $USERNAME & " " & $PASSWORD & " > TEMP"

RunWait(@ComSpec & " /c " & $COMMAND)

; Read the file "TEMP"
; Choose what to do
; Delete file "TEMP"
于 2013-12-27T21:47:44.580 に答える