goonia Posted January 20, 2006 Share Posted January 20, 2006 Hello, I need your help to create a script. Im a beginner and my knowledge in scripting are close to 0 Here is what I need : Current situation : Users Bob and Joe are using the same PC (they work in 2 teams) they log in windows with their domain accounts and the netlogon script automatically map the folder \\SRV01\SHARE Those will have now to work with an application that needs to work with a generic local account but they still need to have access to the shared folder. As I can not create a generic domain account I need to have a script : - which ask user for his username + password - map the folder In order to do something like under DOS : net use * \\SRV01\SHARE password /user:domain\bob (I dont want users to map manually) Is it possible to do that ? Thanks in advance Link to comment Share on other sites More sharing options...
Marc Posted January 20, 2006 Share Posted January 20, 2006 How about this (untested... ) #include<process.au3> $user = @UserName $pass = InputBox("Passwortd","Please enter your network password") ; DOS-Version: _rundos("net use * \\SRV01\SHARE " & password & " /user:domain" & $bob) ; AutoIt-Version DriveMapAdd( "*", "\\SRV01\SHARE" ,0, $user , $pass ) Any of my own codes posted on the forum are free for use by others without any restriction of any kind. (WTFPL) Link to comment Share on other sites More sharing options...
goonia Posted January 20, 2006 Author Share Posted January 20, 2006 (edited) Thanks for helping me I modified a bit the code like this (in fact there are a lot of users that will be impact by the use of the new application) so I need the script to ask also for the username but it do not work :-/ #include<process.au3> $user = InputBox("Username","Please enter your network username") $pass = InputBox("Passwortd","Please enter your network password") ; DOS-Version: _rundos("net use * \\SRV01\SHARE " & password & " /user:domain" & $bob) ; AutoIt-Version DriveMapAdd( "*", "\\SRV01\SHARE" ,0, $user , $pass ) I don't understand what is the use of $bob (it should be $user no ?) Maybe there is a mistake in the modification I did I'm so bad in scripting :-/ I have two question : - is it possible that when user enter his password *** are displayed whereas the letters ? - is there a mean to ck eck if the account is locked or the password expired ? (and to tell user to log in with his domain account to set a new valid password) ? Edited January 20, 2006 by goonia Link to comment Share on other sites More sharing options...
ChrisL Posted January 20, 2006 Share Posted January 20, 2006 (edited) $user = InputBox("Username","Please enter your network username") $pass = InputBox("Passwortd","Please enter your network password","","*") ; AutoIt-Version DriveMapAdd( "*", "\\SRV01\SHARE" ,0, "domain\" & $user , $pass ) Edited January 20, 2006 by ChrisL [u]Scripts[/u]Minimize gui to systray _ Fail safe source recoveryMsgbox UDF _ _procwatch() Stop your app from being closedLicensed/Trial software system _ Buffering Hotkeys_SQL.au3 ADODB.Connection _ Search 2d Arrays_SplashTextWithGraphicOn() _ Adjust Screen GammaTransparent Controls _ Eventlogs without the crap_GuiCtrlCreateFlash() _ Simple Interscript communication[u]Websites[/u]Curious Campers VW Hightops Lambert Plant Hire Link to comment Share on other sites More sharing options...
CyberSlug Posted January 20, 2006 Share Posted January 20, 2006 Not tested, but might help: #include <Constants.au3> Global $repeat = 1, $success = 1 While $repeat = 1 $user = InputBox("Username","Please enter your network username") $pass = InputBox("Passwortd","Please enter your network password", "", "*") SplashTextOn("Please Wait",@LR & "Please Wait...") $mapped = DriveMapAdd( "*", "\\SRV01\SHARE" ,0, $user , $pass ) $err = @error;Let's note if there is any error code SplashOff() ; Quick-and-dirty way to turn error code into meaningful message Dim $errorList = " Undefined / Other error|Access to the remote share was denied|The device is already assigned|Invalid device name|Invalid remote share|Invalid password" $errorList = StringSplit($errorList, "|");make an array for error code lookup If Not $mapped then $success = 0 If $err = 6 or $err = 2 Then $answer = MsgBox(6,"Error", "Username or password is invalid... Please try again.") If $answer <> $IDTRYAGAIN Then $repeat = 0 Else $answer = MsgBox(4096,"Error", $errorList[$err]) If $answer <> $IDTRYAGAIN Then $repeat = 0 EndIf EndIf WEnd If $succcess = 0 Then MsgBox(4096,"Warning", "Drive didn't map. You might need to logon with your domain account and make sure your password has not expired....") Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig! Link to comment Share on other sites More sharing options...
goonia Posted January 20, 2006 Author Share Posted January 20, 2006 Thanks a lot guys !! I not at work anymore (I'm in France) but I will try all that Monday Link to comment Share on other sites More sharing options...
goonia Posted January 23, 2006 Author Share Posted January 23, 2006 Hey I just made some testing ChrisL > Thanks your script works fine and displayed * in password box. But if the user has to change his password the drive is not mapped. If so the user do not know what happened CyberSlug > When I launch the script I get an error message (it sounds like chinese for me) -- Line 0 (File "D:\test2.exe"): SplashTextOn("Please Wait",@LR & "Please Wait...") SplashTextOn("Please Wait",ÊRROR Error: Unknown macro. -- Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted January 23, 2006 Moderators Share Posted January 23, 2006 Change the @LR to @LF Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
goonia Posted January 23, 2006 Author Share Posted January 23, 2006 Change the @LR to @LFThanks Smoke_NI replace @LR to @LF and now I have others error messageIn fact when the account is active I get error message :--1st a window nammed "Error" 6a "OK" button--Then a new window "AutoIt Error"Line 0 (file "D:\test2.exe"):If $success = 0 then msgbox(4096, "warning","drive didn't map. You might need to logon with your domain account and maje sure your password has not expired...")If ^ERRORError: variable used without being decalreda "OK" button--But the drive is mappedAnd when the account is to be reactivated I get the same error message and the drive is not mapped.It seems that there is a syntax error with $success but I'm not sure Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted January 23, 2006 Moderators Share Posted January 23, 2006 Hmmm, are you evening comparing the errors with what you have? There is one too many 'c'(s) in the last $success there are 3 when there should be 2.Global $repeat = 1, $success = 1 While $repeat = 1 $user = InputBox("Username","Please enter your network username") $pass = InputBox("Passwortd","Please enter your network password", "", "*") SplashTextOn("Please Wait",@LF & "Please Wait...") $mapped = DriveMapAdd( "*", "\\SRV01\SHARE" ,0, $user , $pass ) $err = @error;Let's note if there is any error code SplashOff() ; Quick-and-dirty way to turn error code into meaningful message Dim $errorList = " Undefined / Other error|Access to the remote share was denied|The device is already assigned|Invalid device name|Invalid remote share|Invalid password" $errorList = StringSplit($errorList, "|");make an array for error code lookup If Not $mapped then $success = 0 If $err = 6 or $err = 2 Then $answer = MsgBox(6,"Error", "Username or password is invalid... Please try again.") If $answer <> $IDTRYAGAIN Then $repeat = 0 Else $answer = MsgBox(4096,"Error", $errorList[$err]) If $answer <> $IDTRYAGAIN Then $repeat = 0 EndIf EndIf WEnd If $success = 0 Then MsgBox(4096,"Warning", "Drive didn't map. You might need to logon with your domain account and make sure your password has not expired....") I ran this through check, and no errors. (I didn't run it though). Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
goonia Posted January 23, 2006 Author Share Posted January 23, 2006 Hum too many "c". I made the correction but now I always get the message "Undefined / Other error" And then "Drive didn't map. You might need to logon with your domain account and make sure your password has not expired...." It happens whenever the drive is mapped or not... any idea ? (I tried with the account expired/not expired then good password/wrong password ...) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now