1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Surfy

Beiträge von Surfy

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 29. August 2012 um 17:54

    Danke für Deine Hilfe!

    LogonDomain ist da dann: MyDomain-test

    $sDNSHostName=MyServer.MyDomain.test

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 28. August 2012 um 12:55

    Folgender Script schlägt bei mir fehl, wenn wenn ich ihn in der Domain MyDomain.test ausführe:

    Spoiler anzeigen
    [autoit]

    #include <ad.au3>
    ;°°°°° °°°°° Recognize Domain Enviroment °°°°° °°°°°
    _AD_Open()
    Global $sComputer = @ComputerName & "$"
    Global $sDNSHostName = _AD_GetObjectAttribute($sComputer, "DNSHostName")
    _AD_Close()
    ;°°°°° °°°°° Parse Result °°°°° °°°°°
    $Split = StringSplit($sDNSHostName, ".")
    $Hostname = $Split[1]
    $Domainname = $Split[2]
    $Domainsuffix = $Split[3]
    RUNWAIT (@COMSPEC & ' /c eventcreate /t information /so MyInstaller /id 100 /l application /d "Detected: Hostname: ' & $Hostname & " Domainname: " & $Domainname & " Domainsuffix: " & $Domainsuffix & ' ..."',"",@SW_HIDE)
    ;°°°°° °°°°° Check User and Credentials Result °°°°° °°°°°
    $iResult = _AD_Open($Domainname & "\x_Service-Account1", "MyPassWord")
    $iResult2 = _AD_Open($Domainname & "\y_Service-Account2", "MyPassWord")
    MsgBox(4096, "Eins = Erfolg:", $iResult)
    MsgBox(4096, "Eins = Erfolg:", $iResult2)

    [/autoit]

    Nehme ich anstelle von der $Domainname variable dann @LogonDomain dann geht es. Diese Variable lautet aber auf MyDomain-Test also ohne Punkt ;(

    Gibt es keine Chance, die Usercredentials zu überprüfen, wenn die Domain Namen alles sein können, von MyDomain.com, MyDomain.Local, MyDomain.test, MyOtherDomain.local etc?

    Vielleicht gibt es ja eine schlauere Art das ganze anzustellen?

    Danke euch, Surfy

  • WinXP: Abfragen unter welchem User ein bestimmter Service läuft.

    • Surfy
    • 28. August 2012 um 08:03

    Dann klappt es! Danke für den Tip :)

  • WinXP: Abfragen unter welchem User ein bestimmter Service läuft.

    • Surfy
    • 27. August 2012 um 15:10

    Leider muss ich den Thread nochmals beleben.

    Ein Software Hersteller kam auf die grandiose Idee, den Service mit Sonderzeichen ähnlich "ServiceName.[TET]" zu benennen.

    Und diese Bennenung führt dazu, das das Beispiel von UAZ eine leere Messagebox zurückgibt. Weiss jemand auch dazu ein Hilfsmittel?

    Die Zeile von Misterspeed funktioniert hier, nach einer kleinen Anpassung:

    [autoit]

    RunWait(@ComSpec & " /c " & 'wmic service get Caption,StartName > ' & @TempDir & '\ServiceUser.txt')

    [/autoit]

    Allerdings würde mir die Lösung von UAZ, ohne Umweg um ein externes File, besser gefallen.

    Danke euch,

    Surfy

  • String verarbeiten.

    • Surfy
    • 23. August 2012 um 17:05

    Danke für die rasche Hilfe! Läuft 1a!

    Surfy

  • String verarbeiten.

    • Surfy
    • 23. August 2012 um 17:00

    Hallo zusammen

    Ich würde gerne einen String auslesen, und verarbeiten.

    [autoit]

    $MyString="Hostname.MyDomain.com"

    [/autoit]

    Mein Ziel ist es, alles vor dem ersten Punkt, und alles zwischen ersten und zweiten Punkt zu erhalten.

    Dh eine Variable $Hostname, und eine Variable $Domainname zu erhalten.

    Seht das ganze als Beispiel ich weiss das es @Computername gibt ;)

    Danke für eure Hilfe!

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 23. August 2012 um 08:32

    Danke Dir water! Ich komme einer Lösung langsam näher.

    Es klappt mit deinen Zeilen, wenn ich nur den Domain Namen nehme.

    Da es bei uns jedoch auch MyDomain.com und MyDomain.test hat, muss ich mit dem kompletten Domainnamen nehmen - und da klappt es leider nicht mehr ;( Ohne Variablen hingegen schon...

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 22. August 2012 um 15:28
    [autoit]

    #include <ad.au3>
    $domain = "MyDomain"
    $User="MyUser"
    $iResult = _AD_Open( chr(34) & $domain & "\" & $User & chr(34), "MyPW")
    MsgBox(4096, "Eins = Erfolg:", $iResult)

    [/autoit]

    Leider klappt es auch so nicht. Aber doppelt gemoppelt war es schon :whistling:

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 22. August 2012 um 11:53

    Ahh, so langsam fällt der groschen ;)


    [autoit]


    _AD_Open()
    $iResult = _AD_Open("domain\User", "Kennwort")
    MsgBox(4096, "Eins = Erfolg:", $iResult)
    _AD_Close()

    [/autoit]


    Wie kann ich da jetzt noch Variablen ins Spiel bringen, z.B. so:


    [autoit]


    _AD_Open()
    $iResult = _AD_Open( $domain & "\" & $User , "Kennwort")
    MsgBox(4096, "Eins = Erfolg:", $iResult)
    _AD_Close()

    [/autoit]

    Variablen scheinen nicht zu gehen ;( Auch Versuche mit Chr(34) - nix :(


    Danke für eure Hilfe :)

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 17. August 2012 um 15:44

    @ water: Danke für den Hinweis zur Fehlermeldung! ich hab dein UDF sogar an anderer Stelle schon im Einsatz, um den DNShostname auszulesen.

    Spoiler anzeigen
    [autoit]

    _AD_Open()
    Global $sComputer = @ComputerName & "$"
    Global $sDNSHostName = _AD_GetObjectAttribute($sComputer, "DNSHostName")
    _AD_Close()

    [/autoit]

    Trotzdem bin ich auch nach längerem herumprobieren nicht zu einer Lösung gekommen, oder hätte auch nur erahnt, wie ich die gegebenen credentials damit gegenüber einer Domain abfragen könnte. :wacko:

    Das muss einem anscheinend in die Wiege gelegt worden sein. Wiki hab ich auch schon durchstöbert - sorry ich bin da einfach zu blond. :huh:

  • WinXP: Abfragen unter welchem User ein bestimmter Service läuft.

    • Surfy
    • 17. August 2012 um 15:38

    Danke UEZ, funktioniert prima! :thumbup: Ich hab sooolang gepröbelt :wacko:

    @ Misterspeed: ich hatte die Zeilen erstmal in der DosEingabe Aufforderung ausprobieren wollen, und bin schon da gescheitert,

  • WinXP: Abfragen unter welchem User ein bestimmter Service läuft.

    • Surfy
    • 17. August 2012 um 13:01

    Danke für den Ansatz! Das kannte ich so noch gar nicht :)

    Leider gibt es bei beiden Zeilen ein Syntax Problem - welches ich nicht lösen kann ;(

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 17. August 2012 um 12:49

    Es geht mir darum, dass ich u.a. einen Service unter einem "ServiceUser" laufen lassen soll, in mehreren Domains. Um das umzusetzen muss man das Kennwort wissen. Ziel ist es, gewissen Applikationen die "System" rechte zu nehmen. Dafür werden Serviceuser erstellt, die immer genau dazu die Rechte haben, die unbedingt notwendig sind.

    Da es leider immer wieder vorkam - das so ein Script nicht funktionierte, weil der User nicht angelegt war oder das Kennwort nicht entsprechend gesetzt war - würde ich gerne zu begin des Scripts überprüfen - ob der User existiert, ob das PW richtig ist - und wenn etwas nicht stimmt - aus dem Script aussteigen, mit einem passenden Exitcode (und Eventlog Eintrag).

    @MK: ich erhalte zweimal den Fehler:

    Fehlernummer: 80020009
    Beschreibung: A referral was returned from the server.

    Ich hoffe ihr wisst rat. So ganz ohne "Errorhandling" gebe ich so ein Script ungern weiter.

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 15. August 2012 um 09:54

    Mit Multidomain meinte ich in mehreren Domains unabhängigen Domains, sorry für das Missverständniss.

    Wie kann ich denn ein mir bekanntes Kennwort verifzieren?

  • WinXP: Abfragen unter welchem User ein bestimmter Service läuft.

    • Surfy
    • 15. August 2012 um 08:44

    Wie kann ich überprüfen, unter welchem User ein bestimmter Dienst unter XP läuft?

    Theoretisch ist das im Service.msc Manager hinterlegt, aber auch im Taskmanager kann man sehen unter welchem User ein Prozess gestartet ist.

    Aber wie ich da via Script rankommen könnte, das ist die gute Frage :pinch:

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 15. August 2012 um 08:28

    Dank der ausführlichen Doku zum UDF denke ich dass ich mit dem hier zurande komme:

    Spoiler anzeigen
    [autoit]

    #include <AD.au3>
    ; Open Connection to the Active Directory
    _AD_Open()
    ; *****************************************************************************
    ; Example 1 - Process the current user.
    ; In the first step get some attributes of the current user.
    ; In the second step check the user for this attributes.
    ; *****************************************************************************
    ; Get some information for the current logged on user we later can test
    Global $asProperties[8] = ["sAMAccountName", "cn", "mail", "userPrincipalName", "name", "mailNickname", "displayName", "dNSHostName"]
    Global $asObjects[8], $iCount
    For $iCount = 0 To UBound($asObjects) - 1
    $asObjects[$iCount] = _AD_GetObjectAttribute(@UserName, $asProperties[$iCount])
    Next
    ; Test for the information we gathered above
    Global $sOutput = "Get Attributes for User: " & @UserName & @CRLF & @CRLF
    For $iCount = 0 To UBound($asObjects) - 1
    If _AD_ObjectExists($asObjects[$iCount], $asProperties[$iCount]) Then
    $sOutput &= "Object '" & $asObjects[$iCount] & "' for property '" & $asProperties[$iCount] & "' exists" & @CRLF
    ElseIf @error = 1 Then
    $sOutput &= "Object '" & $asObjects[$iCount] & "' for property '" & $asProperties[$iCount] & "' does not exist" & @CRLF
    Else
    $sOutput &= "Object '" & $asObjects[$iCount] & "' for property '" & $asProperties[$iCount] & "' is not unique: >=" & @error & " records found" & @CRLF
    EndIf
    Next
    MsgBox(64, "Active Directory Functions", $sOutput)

    [/autoit]

    Ich würde gerne überprüfen, ob ein User in der Domain existiert, und als nächstes ob das bekannte Kennwort auch gesetzt ist.

    Es ist eine Multidomainumgebung - und Installationen fallen immer wieder auf die Nase, weil der User nicht angelegt wurde, oder sein Kennwort nicht gesetzt ist.. Da ist jetzt mein Plan, vor der Installation ein paar Eckdaten zu prüfen, und gegebenenfalls auszusteigen.

    Wo müsste ich da ansetzen?

  • Active Directory (Domain): Anfragen ob User in der AD existiert

    • Surfy
    • 14. August 2012 um 15:01

    Wie kann ich im AD Abfragen, ob ein User existiert?

    Mir würde schon etwas ganz simples reichen:

    [autoit]


    If not $MyUser in Domain then
    Exit (44)
    EndIF

    [/autoit]

    Leider übersteigt das ActiveDirectory UDF meinen Scriptingskill deutlich ;(

    Kann mir jemand unter die Arme greifen?

    Danke euch!

    Surfy

  • Verzeichniss kopieren: aber nur Dateien & Verz. die noch nicht existieren..

    • Surfy
    • 23. Juli 2012 um 14:04

    Danke für den Tip ;)

    "gelöst" :)

  • Verzeichniss kopieren: aber nur Dateien & Verz. die noch nicht existieren..

    • Surfy
    • 23. Juli 2012 um 12:36

    In dem Verzeichniss, wo das ganze hinkopiert werden soll, befinden sich leider schon Daten..

    Weder

    [autoit]


    FileCopy(@CommonFilesDir & "\Backup\Database\*.*", @ProgramFilesDir & "\Emando\Database\", 8)

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

    noch Dircopy machen da etwas. ;( Es ginge ja darum, lokal noch nicht vorhandenes - zu ergänzen.

    Gruss, Etienne

  • Verzeichniss kopieren: aber nur Dateien & Verz. die noch nicht existieren..

    • Surfy
    • 23. Juli 2012 um 11:46

    Hallo zusammen

    Meine Versuche mit

    [autoit]

    FileCopy(@CommonFilesDir & "\Backup\Database\*.*", @ProgramFilesDir & "\Emando\Database\*.*", 8)

    [/autoit][autoit]

    ;Dircopy(@CommonFilesDir & "\Backup\Database", @ProgramFilesDir & "\Emando ")

    [/autoit]

    schlugen leider fehl *kopfkratz*

    Woran liegt das? Und wie bekomme ich das hin, das überhaupt kopiert wird - und wenn - dann nur die Dateien und Verzeichnisse, die noch nicht existieren?

    Danke für eure Hilfe,

    Surfy

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™