Jump to content

employee-type per skript befüllen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich möchte in der AD das Attribut "employee-type" per skript befüllen.

 

title und empid waren mit Hilfe von dsquery / dsmod kein großes Problem. Befehle in Excel zusammen stellen und ne batch drauß gemacht. :-)

dsquery user -samid %ANMELDENAME% | dsmod user -title %TITLE%

dsquery user -samid %ANMELDENAME% | dsmod user -empid %PERSONALNUMMER%

 

Leider finde ich aber nicht das Attribut employee-type.

 

Habt ihr eine Idee wie ich das realisieren kann. z.B. versteckte optionen für dsmod ...

 

Vielen Dank und ein schönes WE.

 

m

Link zu diesem Kommentar

Habs gerade wie folgt ausprobiert und die folgende Fehlermeldung erhalten.

(Dosfenster als DC-Admin)

 

Anweisung:

set /P ANMELDENAME=Bitte geben Sie den Windows Anmeldenamen ein[Abbruch mit Strg-C]:

set /P KOSTENSTELLE=Bitte geben Sie Ihre Kostenstelle ein[Abbruch mit Strg-C]:

dsquery user -samid %ANMELDENAME% | dsmod user -employeeType %KOSTENSTELLE%

 

Fehlermeldung:

C:\WINDOWS\system32>dsquery user -samid "..username.." | dsmod user -employeeType 123456

 

dsmod failed:`-employeeType' is an unknown parameter.

type dsmod /? for help.

Link zu diesem Kommentar
Habs gerade wie folgt ausprobiert und die folgende Fehlermeldung erhalten.

 

Klar, denn employeeType ist doch auch kein DSMOD-Parameter. Wenn du dir die Hilfe zu dsmod mit "dsmod /?" angesehen hättest, wäre es dir auch schnell selber aufgefallen.

 

Für deine Aufgabe ist dsquery im Zusammanhang mit dsmod nicht geeignet. Verwende ADFIND und ADMOD, damit kannst du das lösen.

 

Free Tools

 

Auch mit der PowerShell bekommst du das gelöst.

Link zu diesem Kommentar

Hallo,

 

bit Du Dir sicher, dass Du Deine Personalnummern in das employeeType Attribut schreiben willst? Es gbit nämlich auch noch employeeID und employeeNumber, also von weitem hören die sich irgendwie passender an...:wink2:

 

Hier ist außerdem noch das ganze in VBScript. Wie man den Benutzer aufgrund seines Anmeldenamens findet, steht hier: SelfADSI : Name Translation - Wie man den LDAP Pfad eines Benutzers ermittelt

 

DOMAIN = "example"							'dies ist der NetBIOS Name Deiner Domäne
ANMELDENAME = "pfoeckel"                    'hier den Namen des gewünschen Benutzers einsetzen
TITLE = "x y z"								'das sind die Daten...
PERSONALNUMMER = "0815"


Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1

logonName = DOMAIN & "\" & ANMELDENAME      'NetBIOS-Anmeldename bilden

Set nto = CreateObject("NameTranslate")     'Name Translate Objekt initialisieren und Namen umwandeln
nto.Init ADS_NAME_INITTYPE_GC, ""
nto.Set ADS_NAME_TYPE_NT4, logonName
userDN = nto.Get(ADS_NAME_TYPE_1779)        'userDN enthält nun den kompletten LDAP Pfad...

Set user = GetObject("LDAP://" & userDN)    '...dieser kann zum Zugriff auf das Benutzerobjekt verwendet werden

user.title = TITLE
user.employeeType = PERSONALNUMMER
user.SetInfo

 

sollte das tatsächlich so gemeint sein, dass Deine Ausgansdaten (ANMELDENAME, PERSONALNUMMER etc... im Environment liegen, mußt Du noch das hier davorsetzen:

Set wso= WScript.CreateObject(”WScript.Shell”)
Set env= wso.Environment(”Process”)
ANMELDENAME = env("ANMELDENAME")
TITLE = env("TITLE")
PERSONALNUMMER = env("PERSONALNUMMER")

 

Schöne Grüße,

Philipp

Link zu diesem Kommentar
  • 1 Monat später...

Hallo zusammen,

 

sorry das es so lange gedauert hat. War im Urlaub usw.

Nun ja.

 

@Philipp, Daim

Vielen Dank für eure Tipps.

 

 

Ich hab´s nun erst einmal wie folgt probiert da ich mich mit VB nicht auskenne. :-((

 

Den Titel zum testen gändert. <-- funktioniert :)

admod" -b "cn=michael,ou=ou test,DC=meine-domain,DC=local" "title:+-:Herr"

 

Nach einem User gesucht <-- funktioniert :)

adfind -f name=michael -dn

 

Nun wollte ich beide Befehle verknüpfen und es funktioniert nicht mehr. :(:(

adfind -f name=michael -dn | admod -b title:+-:Herr

 

Leider gibt es keine Fehlermeldung und nichts. Nur der Wert des Attributs hat sich nicht geändert. :-(

 

Die Übergabe des adfind mit dem Pipe scheint nicht sauber zu funktionieren, oder das admod liest den Wert nicht sauber ein.

 

 

Vielen Dank für eure Hilfe.

Michael

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...