Felhasználók létrehozása 2008 Server (megjelenítendő név)
2013-06-16T17:03:49+02:00
2013-06-17T19:39:58+02:00
2022-08-07T22:40:32+02:00
fazsolt2
Sziasztok!

Windows 2008 Server környezet.
Szeretnék felhasználókat gyorsan felvenni, ehhez adott egy Excel tábla:
keresztnev|Kozepsonev|vezeteknev|jelszó|Megjelenített név|usernev|... sorrendben.

Itt a megjelenített név a kereszt, vezetéknévből képlettel van meg

Illetve van egy scriptem, amelyik megcsinálja a felhasználókat, csak a megjelenített névhez a felhasználónevet teszi be.

hol a hiba?


Do While objSheet.Cells(intRow, 5).Value <> "" ' Read values from spreadsheet for this user. strFirst = Trim(objSheet.Cells(intRow, 1).Value) strMiddle = Trim(objSheet.Cells(intRow, 2).Value) strLast = Trim(objSheet.Cells(intRow, 3).Value) strPW = Trim(objSheet.Cells(intRow, 4).Value) strCN = Trim(objSheet.Cells(intRow, 5).Value) strNTName = Trim(objSheet.Cells(intRow, 6).Value) strUPN = Trim(objSheet.Cells(intRow, 7).Value) strHomeFolder = Trim(objSheet.Cells(intRow, 8).Value) strHomeDrive = Trim(objSheet.Cells(intRow, 9).Value) strLogonScript = Trim(objSheet.Cells(intRow, 10).Value) ' Create user object. On Error Resume Next Set objUser = objContainer.Create("user", "cn=" & strCN) If Err.Number <> 0 Then On Error GoTo 0 Wscript.Echo "Unable to create user with cn: " & strCN Else On Error GoTo 0 ' Assign mandatory attributes and save user object. If strNTName = "" Then strNTName = strCN End If objUser.sAMAccountName = strNTName On Error Resume Next objUser.SetInfo If Err.Number <> 0 Then On Error GoTo 0 Wscript.Echo "Unable to create user with NT name: " & strNTName Else ' Set password for user. objUser.SetPassword strPW If Err.Number <> 0 Then On Error GoTo 0 Wscript.Echo "Unable to set password for user " & strNTName End If On Error GoTo 0 ' Enable the user account. objUser.AccountDisabled = False If strFirst <> "" Then objUser.givenName = strFirst End If ' Assign values to remaining attributes. If strMiddle <> "" Then objUser.initials = strMiddle End If If strLast <> "" Then objUser.sn = strLast End If If strUPN <> "" Then objUser.userPrincipalName = strUPN End If If strHomeDrive <> "" Then objUser.homeDrive = strHomeDrive End If .....
Mutasd a teljes hozzászólást!
Azt hol tudom meglesni, hogy mi az alapértelmezett AD beállítás?


Inkább kérj meg egy rendszergazdát, hogy nézze meg neked!

Ha manuálisan viszem fel, akkor összerakja a firstname-lastnamet!


De mondjuk ebből le lehetne vonni következtetéseket, nem?

De egyébként egy objUser.FullName=... sor is elég lehet, csak a ... helyére írd be a megfelelő változó nevét. És lehetőleg a setinfo meghívása előtt, ahol a többi tulajdonságnakis értéket adsz! Ja, és legközelebb szvsz bízd ezt a feladatot egy megfelelő rendszergazdára!
Mutasd a teljes hozzászólást!

  • Ránézésre pedig jónak tűnik a kód, gondolom ugyanabba a konténerbe pakolod a felhasználókat (objContainer-t ugye nem látjuk ebből a kódrészletből, gondolom objUser.SetInfo van a program végén is ...)

    Debuggolj, írasd ki wscript.echo segítségével az egyes változók értékét, akkor látni fogod mi is van benne.
    (azt csak te látod, hogy mi van az excel fájlodban...)

    Az is lehet, hogy a név megjelenítés formátuma van olyanra állítva, hogy nem úgy látod, ahogy szeretnéd ....
    Mutasd a teljes hozzászólást!
  • Ezt a scriptet csak találtam, nem én írtam, így debuggolni sem tudok, mert nem nagyon értek hozzá. A bemásolt részből kihámoztam, hogy ott kellene értéket kapnia a változóknak.
    Az excel táblában az van, amit írtam. feljebb
    Mutasd a teljes hozzászólást!
  • Márpedig nem fogjuk tudni ebből megmondani, hogy mi a hiba, neked kell debuggolni! A debuggolás az adatok kiiratását jelenti itt első sorban, hogy azt már Robi80 is leírta. Egyébként nem látom, hogy a displayName-nek hol adsz értéket és azt, hogy egyáltalán milyen érték van ott az excel-ben.
    Mutasd a teljes hozzászólást!
  • Az Excel táblában az 5. oszlopban van a megjelenítendő név. Ez kerül az strCN változóba.
    Nem értek a VB-hez, ezért kértem segítséget.

    Ha beírom valahova, hogy
    Displayname=strCN, akkor jó lehet? Kérdés, hogy hova írjam?
    (Nem vagyok olyan gép közelében, ahol ki tudom próbálni)
    Mutasd a teljes hozzászólást!
  • Ha beírom valahova, hogy
    Displayname=strCN, akkor jó lehet? Kérdés, hogy hova írjam?


    Beírni beírhatod, de nem tudom, hogy mire mész így vele!

    Az AD nem olyan egyszerű, mert a displayName tulajdonságot a a teljes név alapján generálja, amelyet pedig a firstname - lastname páros ad meg alapértelmezetten. De ez egy beállítás, ami felülírható az AD-ben a user-Display tulajdonsággal.

    Ha az AD-ben az a beállítás, hogy a displayName=sAMAccountName-mel, akkor csak az működik, hogy a displayName-et (iADsUser interfészben ez a FullName tulajdonság) közvetlenül írod. Eztviszont nem látom seholsem a bemásolt kódrészletben.
    Mutasd a teljes hozzászólást!
  • Feltöltök egy minta Excel fájlt, valamint a teljes vbs-t.
    Azt hol tudom meglesni, hogy mi az alapértelmezett AD beállítás?
    Ha manuálisan viszem fel, akkor összerakja a firstname-lastnamet!
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • És az Excel
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Azt hol tudom meglesni, hogy mi az alapértelmezett AD beállítás?


    Inkább kérj meg egy rendszergazdát, hogy nézze meg neked!

    Ha manuálisan viszem fel, akkor összerakja a firstname-lastnamet!


    De mondjuk ebből le lehetne vonni következtetéseket, nem?

    De egyébként egy objUser.FullName=... sor is elég lehet, csak a ... helyére írd be a megfelelő változó nevét. És lehetőleg a setinfo meghívása előtt, ahol a többi tulajdonságnakis értéket adsz! Ja, és legközelebb szvsz bízd ezt a feladatot egy megfelelő rendszergazdára!
    Mutasd a teljes hozzászólást!
  • Ez a rendszergazdaság az én leszek, ha megtanulom. Rám szakadt, és megpróbálom. Valamikor régen csináltam, de most szinte mindent újra kell tanulnom.
    A név beírása sikeres volt, az általad említett sorral! Köszönöm szépen!
    Mutasd a teljes hozzászólást!
abcd