lil754boy Posted August 31, 2012 Share Posted August 31, 2012 Is there a way or how can i elevate a portion of my auto it script to elevate and use domain username and password for a portion of the script. The code below has to be run as a domain administrator. The script is a script used in the unattended portion of the script after the machine joins. I am trying complete make the image a zero touch for user. If i can do this, the image will be complete with zero touch by admin and the user can login. I could image machines from my desk and once it comes up to the login screen the user can login. I have tried to create a separate .exe and use RunAs but have not been able to make it work, please help. If $sPCType = "Laptop" OR $strChassisType = 13 Then $sMember_dn = "CN=" & @computerName & ",OU=Laptops,DC=apsk12,DC=org" $strGroupDN = "CN=Wireless Clients,OU=Security Groups,DC=apsk12,DC=org" MsgBox(0, "Domain:", $strGroupDN, 2) $objGroup = ObjGet("LDAP://" & $strGroupDN) MsgBox(0, "Domain:", $objGroup, 2) $objSysInfo = ObjCreate("ADSystemInfo") $strComputerDN = $objSysInfo.ComputerName MsgBox(0, "Domain:", $strComputerDN, 2) $objComputer = ObjGet("LDAP://" & $strComputerDN) ;MsgBox(0, "Domain:", $objComputer) If ($objGroup.IsMember($objComputer.ADsPath) = False) Then $objGroup.Add($objComputer.ADsPath) EndIf EndIf Link to comment Share on other sites More sharing options...
water Posted August 31, 2012 Share Posted August 31, 2012 You could have a look at my Active Directory UDF (for download please see my signature). To add the user to a group use function _AD_UserToGroup. The required credentials can be passed with function _AD_Open. My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
lil754boy Posted August 31, 2012 Author Share Posted August 31, 2012 I am new to autoit, I look at the UDF's but still not sure how to add them to my script and make them work. Link to comment Share on other sites More sharing options...
water Posted August 31, 2012 Share Posted August 31, 2012 (edited) Have a look at the example scripts which come with the UDF or the Wiki.Your script could look like:#include <AD.au3> ; Store the AD UDF in @ProgramFilesDir & AutoI3Include, a user defined Include directory or the directory where your script resides _AD_Open() If @error Then MsgBox(16, "Error", "Error connecting to Active Directory. @error: " & @error & ", @extended: " & @extended) If $sPCType = "Laptop" Or $strChassisType = 13 Then $strGroupDN = "CN=Wireless Clients,OU=Security Groups,DC=apsk12,DC=org" If Not _AD_IsMemberOf($strGroupDN, @ComputerName & "$") Then _AD_AddUserToGroup($strGroupDN, @ComputerName & "$") If @error Then MsgBox(16, "Error", "Error occurred adding '" & @ComputerName & "' to AD group '" & $strGroupDN & "'. @error: " & @error & ", @extended: " & @extended) EndIf EndIf _AD_Close() Edited August 31, 2012 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
lil754boy Posted September 18, 2012 Author Share Posted September 18, 2012 I get the attached error when runninig. #include <AD.au3> #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <EditConstants.au3> #include <WindowsConstants.au3> $logon_flags = 0 $striCount =0 $sWMIService = "winmgmts:\\" & @ComputerName & "\root\CIMV2" $objWMIService = ObjGet($sWMIService) $colChassis = $objWMIService.ExecQuery("Select * from Win32_SystemEnclosure") For $objChassis in $colChassis For $strChassisType in $objChassis.ChassisTypes Select Case $strChassisType = 1 MsgBox(0, "Chassis: ", "Other", 2) $sPCtype = "Desktop" Case $strChassisType = 2 MsgBox(0, "Chassis: ", "Unknown", 2) $sPCtype = "Desktop" Case $strChassisType = 3 MsgBox(0, "Chassis: ", "Desktop", 2) $sPCtype = "Desktop" Case $strChassisType = 4 MsgBox(0, "Chassis: ", "Low Profile Desktop", 2) $sPCtype = "Desktop" Case $strChassisType = 5 MsgBox(0, "Chassis: ", "Pizza Box" 2) $sPCtype = "Desktop" Case $strChassisType = 6 MsgBox(0, "Chassis: ", "Mini Tower", 2) $sPCtype = "Desktop" Case $strChassisType = 7 MsgBox(0, "Chassis: ", "Tower", 2) $sPCtype = "Desktop" Case $strChassisType = 8 MsgBox(0, "Chassis: ", "Portable", 2) $sPCtype = "Laptop" Case $strChassisType = 9 MsgBox(0, "Chassis: ", "Laptop", 2) $sPCtype = "Laptop" Case $strChassisType = 10 MsgBox(0, "Chassis: ", "Notebook", 2) $sPCtype = "Laptop" Case $strChassisType = 11 MsgBox(0, "Chassis: ", "Handheld", 2) $sPCtype = "Laptop" Case $strChassisType = 12 MsgBox(0, "Chassis: ", "Docking Station", 2) $sPCtype = "Laptop" Case $strChassisType = 13 MsgBox(0, "Chassis: ", "All-in-One", 2) $sPCtype = "Laptop" Case $strChassisType = 14 MsgBox(0, "Chassis: ", "Sub-Notebook", 2) $sPCtype = "Laptop" Case $strChassisType = 15 MsgBox(0, "Chassis: ", "Space Saving", 2) $sPCtype = "Desktop" Case $strChassisType = 16 MsgBox(0, "Chassis: ", "Lunch Box", 2) $sPCtype = "Desktop" Case $strChassisType = 17 MsgBox(0, "Chassis: ", "Main System Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 18 MsgBox(0, "Chassis: ", "Expansion Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 19 MsgBox(0, "Chassis: ", "Sub-Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 20 MsgBox(0, "Chassis: ", "Bus Expansion Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 21 MsgBox(0, "Chassis: ", "Peripheral Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 22 MsgBox(0, "Chassis: ", "Storage Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 23 MsgBox(0, "Chassis: ", "Rack Mount Chassis", 2) $sPCtype = "Desktop" Case $strChassisType = 24 MsgBox(0, "Chassis: ", "Sealed-Case PC", 2) $sPCtype = "Desktop" Case Else MsgBox(0, "Chassis: ", "Unknown", 2) $sPCtype = "Desktop" EndSelect Next Next MsgBox(0, "Desktop or laptop: ", $sPCtype, 2) #cs If _AD_Open($strUser, $strUser, $SDNSDomain, $SHostServer, $SConfiguration) Then MsgBox(64, "Active Directory Functions", "Logon was succcessful!") ElseIf @error <= 8 Then MsgBox(16, "Active Directory Functions", "The logon was not succcessful!" & @CRLF & @CRLF & "@error: " & @error & ", @extended: " & @extended) Else MsgBox(16, "Active Directory Functions", "The logon was not succcessful!" & @CRLF & @CRLF & "@error: " & @error & ", @extended: " & @extended & _ @CRLF & @CRLF & "Extended error information will be displayed") Global $aError = _AD_GetLastADSIError() _ArrayDisplay($aError) EndIf #ce _AD_Open() If @error Then MsgBox(16, "Error", "Error connecting to Active Directory. @error: " & @error & ", @extended: " & @extended) If $sPCType = "Laptop" Or $strChassisType = 13 Then $strGroupDN = "CN=Wireless Clients,OU=Security Groups,DC=*******,DC=org" If Not _AD_IsMemberOf($strGroupDN, @ComputerName & "$") Then _AD_AddUserToGroup($strGroupDN, @ComputerName & "$") If @error Then MsgBox(16, "Error", "Error occurred adding '" & @ComputerName & "' to AD group '" & $strGroupDN & "'. @error: " & @error & ", @extended: " & @extended) EndIf EndIf _AD_Close() Link to comment Share on other sites More sharing options...
water Posted September 29, 2012 Share Posted September 29, 2012 Which version of the AD UDF did you download? Which vesion of AutoIt do you run? My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki 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