moesi 10 Geschrieben 2. Dezember 2005 Melden Teilen Geschrieben 2. Dezember 2005 Hey ich hab ein Problem mit dem Ris: und zwar funktioniert alles wunderbar wenn ich im active D. die Computeraccounts von Hand eintrage. wenn ich jetzt aber versuch die computeraccounts über das PrestagRisScript einzutragen dann gehts nicht. es läuft eigentlich alles zu anfang recht gut er bekommt die ip F12 netzwerkboot und dann komm ich ins menu wo ich username pass und domain eintragen kann aber sobald der Ris dann versucht die Temporäre datei zu erstellen kommt ein fehler dass er sie nicht erstellen kann ich hab mal alle eigenschaften des computeraccounts verglichen nachdem ich ihn per hand eingetragen hab. Die sind identisch mit den Einträgen die das script vornimmt aber er will einfach nicht hier ist mal der Code vom script vielleicht kann mir ja einer helfen muss dazu sagen dass ich das script nur gezogen hab und den Code nur ansatzweise versteh ich musste es auch leicht verändern im orginal liest er die daten aus ner excel datei. mein chef wollte das aber aus ner txt datei lesen damit auf den server kein excel drauf muss musst es kürzen ..ist zu lang hier ist der relevante teil für die computeraccounts Sub CreateComputerAccts() On Error Resume Next bolErrFlag = False strCompFail = "" strMAOName = "<Computername>" strUUID = "<UUID>" strLocation = " " strUser= " " strDescription = " " If strCommand = KINTERACTIVE Then strStartup = strServer & "\REMINST\OSChooser\i386\startrom.com" ElseIf strCommand = KAUTOMATE Then strStartup = strServer & "\REMINST\OSChooser\i386\startrom.n12" ElseIf strCommand = KUNSPECIFIED Then strStartup = " " End If Set rootDSE = GetObject("LDAP://RootDSE") Set compContainer = GetObject("LDAP://OU=test,DC=test,DC=de") Set compContainer = GetObject("LDAP://OU=test,DC=test,DC=de") If Err.Number <> KNOERROR And Hex(Err.Number) <> 80071392 Then WScript.Echo Time & ": Error0x" & Hex(Err.Number) & _ "occurred getting AD default " & KQUOTE & _ "Computers" & KQUOTE & " object !" If Err.Description > "" Then WScript.Echo vbTab & strSpace & Err.Description End If Err.Clear WScript.Quit() End If arrayByteOctel = objADsArrayConvert.MakeGUIDByteArray(strUUID) set objComputer = compContainer.Create("computer", "CN=" & strMAOName) objComputer.Put "distinguishedname", strMAOName objComputer.Put "samAccountName", strMAOName + "$" objComputer.Put "userAccountControl", lFlag objComputer.Put "netbootMachineFilePath", strServer + ".test.de" objComputer.Put "netbootGUID", arrayByteOctel objComputer.Put "description", strDescription objComputer.Put "Location", strLocation objComputer.Put "netbootSIFFile", strStartup objComputer.AccountDisabled = False objComputer.SetInfo If Hex(Err.Number) = 80071392 Then WScript.Echo Time & ": Error0x " & Hex(Err.Number) & " occurred while " & _ "processing " & KQUOTE & strMAOName & KQUOTE & _ vbCrLf & _ vbTab & strSpace & "The computer object already exists !" WScript.Echo"" bolErrFlag = True strCompFail = strCompFail & vbTab & strSpace & strMAOName & vbCrLf Err.Clear ElseIf Err.Number <> KNOERROR Then WScript.Echo Time & ": Error0x "& Hex(Err.Number) & _ " occurred while processing " & _ KQUOTE & strMAOName & KQUOTE & " !" If Err.Description > "" THEN WScript.Echo vbTab & strSpace & Err.Description End If WScript.Echo "" bolErrFlag = True strCompFail = strCompFail & vbTab & strSpace & strMAOName & vbCrLf Err.Clear End If objComputer.SetPassword LCase(strMAOName & "$") Set secDescriptor = objComputer.Get("ntSecurityDescriptor") Set dACL = secDescriptor.DiscretionaryAcl Set ACE = CreateObject("AccessControlEntry") ACE.AccessMask = -1 ACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED ACE.AceFlags = ADS_ACEFLAG_INHERIT_ACE ACE.Trustee = strUser dACL.AddAce ACE secDescriptor.DiscretionaryAcl = dACL objComputer.Put "ntSecurityDescriptor", Array(secDescriptor) objComputer.SetInfo objComputer.AccountDisabled = False objComputer.SetInfo End Sub mfg Moesi Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.