PC einer OU im Active Directory zuordnen und auslesen

  • Hi Leute!

    wie kann ich einen PC-Name (@ComputerName) einer OU im Active Directory zuordnen und die OU auslesen.
    die OU soll dann einer Variablen zugeordnet sein.
    so das ist die Probematik.
    Der Hintergrund dazu ist:

    ich muss einen TS-Client mit einem bestimmten Profil (logonname) einer bestimmten OU (Kostenstelle) zuordnen.

    die Kostenstelle 12345 benutzt dieses TS-Profillogon tsuser12345

    danke für die hilfe
    TOMTOM ;( :thumbup: :thumbup: :!:

    • Offizieller Beitrag

    Aber wenn die OU Bezeichnung im Logonnamen steht, dann brauchst du doch auch nur diese auszulesen und kannst mit den Stringfunktionen die OU auslesen und damit dann ja auch zuordnen.
    Wenn nicht, dann brauch ich ein Beispiel, wo genau das nicht zutrifft.

  • Aber wenn die OU Bezeichnung im Logonnamen steht, dann brauchst du doch auch nur diese auszulesen und kannst mit den Stringfunktionen die OU auslesen und damit dann ja auch zuordnen.
    Wenn nicht, dann brauch ich ein Beispiel, wo genau das nicht zutrifft.

    der TS - Username ist dem OU Namen zugeordnet (OU = Filiale --- Pro Filiale gibts einen TS-Logonnamen)
    Mein Problem ist das die Computer unterschiedlich heissen (z.B. ctws04 -- alte konvention , t12342ws03 --- neue konvention) die einzige gemeinsamkeit ist die OU im AD.

    Spoiler anzeigen
    [autoit]

    #Region converted Directives from C:\RDPINI\Firma_RR_JACK.au3.ini
    #AutoIt3Wrapper_icon=C:\Temp\jack_icon.ico
    #AutoIt3Wrapper_outfile=C:\RDPINI\Firma_RR_JACK.exe
    #AutoIt3Wrapper_Compression=3
    #AutoIt3Wrapper_Res_Comment=made by the Hack
    #AutoIt3Wrapper_Res_Description=AutoIt v3 Compiled Script
    #AutoIt3Wrapper_Res_Fileversion=2.0.0.6
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=(c) 2006 Garnreiter Thomas
    #AutoIt3Wrapper_Run_AU3Check=1
    #EndRegion converted Directives from C:\RDPINI\Firma_RR_JACK.au3.ini
    ;
    ; ######### Variablen

    [/autoit] [autoit][/autoit] [autoit]

    Global $FA = StringLeft(@ComputerName, 2) ; Kst ; OV Workstation
    Global $WKS = StringRight(@ComputerName, 4) ; RR Kst
    Global $KST = StringLeft(@ComputerName, 6) ; RR Kst
    Global $OEVB = "ts.firma.lan"
    Global $RUEFA = "rrts.firma.lan"
    Global $ITR = "ITRJack.firma.lan"
    Global $RRPW = "*****"
    Global $OVBPW = "******"
    Global $WS = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "WS", @ComputerName, "keine Computer Name konfiguriert")
    Global $USR = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "WS", @UserName, "kein USERname konfiguriert")
    Global $TSUSER = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "Ruefa_Filialen", $KST, "RR Anmeldename nicht konfiguriert")
    Global $OVUSER = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "OEVB_Filialen", $KST, "OV Anmeldename nicht konfiguriert")
    Global $SONDER = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "SONDER", @ComputerName, "keine WKST konfiguriert")
    Global $SOUSR = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "SONDER", @UserName, "kein User konfiguriert")
    ;~ File kopieren
    RunAsSet("Administrator", "OV", "**********")
    DirCreate("C:\temp")
    FileCopy("\\dc1.firma.lan\JACKINI$\RDPFile.exe", "C:\temp", 0)
    FileCopy("\\dc1.firma.lan\JACKINI$\jack_icon.ico", "C:\temp", 0)
    RunAsSet()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Select
    ;~ Ruefa
    Case $FA = 't1' Or 'K1' Or 'k0'
    If @UserName = $USR Then
    $LOGON = $SOUSR
    ElseIf @ComputerName = $WS Then
    $LOGON = $SONDER
    Else
    $LOGON = $TSUSER
    EndIf
    RunWait("C:\Temp\RDPFile.exe -h" & $RUEFA & " -u" & $LOGON & " -p" & $RRPW & "-dOEVB -s", "C:\temp", @SW_HIDE)
    ;~ ÖVB
    Case $FA = 't2' Or Not 'K1' Or Not 'k0' Or Not 'k8'
    If @UserName = $USR Then
    $LOGON = $SOUSR
    ElseIf @ComputerName = $WS Then
    $LOGON = $SONDER
    Else
    $LOGON = $OVUSER
    EndIf
    RunWait("C:\Temp\RDPFile.exe -h" & $OEVB & " -u" & $LOGON & " -p" & $OVBPW & "-dOEVB -s", "C:\temp", @SW_HIDE)
    ;~ Intertravel
    Case $FA = 't5' Or 'k8'
    If @UserName = $USR Then
    $LOGON = $SOUSR
    ElseIf @ComputerName = $WS Then
    $LOGON = $SONDER
    Else
    $LOGON = $OVUSER
    EndIf
    RunWait("C:\Temp\RDPFile.exe -h" & $ITR & " -u" & $LOGON & " -p" & $OVBPW & "-dOEVB -s", "C:\temp", @SW_HIDE)
    Case Else
    MsgBox(0, "ACHTUNG!!!", "Ihre Workstation wurde nicht konfiguriert Bitte melden sie sich beim EDV-Helpdesk +43-1-xxxxxxx-xxx")
    EndSelect

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]


    Dies ist das Script wo alle PC gleich heissen bzw. gleich beginnen. wenn Ihr die INIdatei noch braucht dann schreibt mir. :)


    danke für eure Ideen