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. subzero007

Beiträge von subzero007

  • HKEY_USERS Listview

    • subzero007
    • 11. März 2010 um 15:28

    Hallo,

    ich möchte gerne von einen Remote rechner den Schlüssel HKEY_User in einer Listview darstellen. "keine unterschlüssel also nur root"

    .Ziel ist es die SID einzusehen die auf dem Remote rechner...

    Hat jemand einen Vorschlag für mich?


    Danke Subzero

  • Anzahl Ordner und dateien Aufzählen...

    • subzero007
    • 10. März 2010 um 17:31

    Das habe ich auch gefunden ...
    habe bloss den parameter für mein vorhaben nicht gefunden ??

  • Anzahl Ordner und dateien Aufzählen...

    • subzero007
    • 10. März 2010 um 17:09

    Hast du auch ein beispiel?

  • Anzahl Ordner und dateien Aufzählen...

    • subzero007
    • 10. März 2010 um 16:36

    Hallo,

    möchte gerne von einen Verzeichnis Ordner ordner und dateien auslesen um genau zu sein anzahl an dateien.

    Hat jemand einen tipp für mich oder beispiel?

    Danke
    SubZero

  • GETSID

    • subzero007
    • 10. März 2010 um 14:30

    ja die funktion die habe ich ja noch von dir ;)
    aber wie gehts weiter ??;-)

    Sorry wenn ich nerve..;-(

  • GETSID

    • subzero007
    • 10. März 2010 um 14:23

    es geht darum die lösung von chip funktioniert wunderbar.. Danke...

    aber ich habe ein textfile .
    was so aussieht:
    The SID for account domain\%Username%r matches account domain\%Username%
    The SID for account domain\%Username% is S-1-5-21-1482486502-1450960922-725345543-32087
    The SID for account domain\%Username% is S-1-5-21-1482486502-1450960922-725345543-32087


    wie würde ich mit dem textfile hinkriegen?

    Danke

  • GETSID

    • subzero007
    • 10. März 2010 um 14:06

    Bitte nicht sauer sein wenn ich diese frage stelle:

    so sieht ja meine ausgabe von dos aus:

    The SID for account domain\%Username%r matches account domain\%Username%
    The SID for account domain\%Username% is S-1-5-21-1482486502-1450960922-725345543-32087
    The SID for account domain\%Username% is S-1-5-21-1482486502-1450960922-725345543-32087

    wie kriege ich jetzt diesen wert aus:
    S-1-5-21-1482486502-1450960922-725345543-32087

    habe es irgendwie nicht verstanden??

  • GETSID

    • subzero007
    • 10. März 2010 um 13:44

    Hallo,

    ich brauche die sid eines Users wollte es über getsid lösen...
    getsid \\dc1 %username%r \\dc2 %Username%

    So sieht die ausgabe von getsid aus:

    The SID for account domain\%Username%r matches account domain\%Username%
    The SID for account domain\%Username% is S-1-5-21-1482486502-1450960922-725345543-32087
    The SID for account domain\%Username% is S-1-5-21-1482486502-1450960922-725345543-32087


    Und ich wollte eingentlich nur das ergebniss:
    S-1-5-21-1482486502-1450960922-725345543-32087

    Also ist mein problen wieder dir stringverarbeitung ;(

    es muss nicht mit getsid laufen auch für alternativen bin ich offen??


    Danke
    SubZero

  • Funktion mit runas starten..?

    • subzero007
    • 5. März 2010 um 15:51

    Hallo,

    besteht die möglichkeit eine funktion mit runas zu starten..?

    Danke
    SubZero

  • admin On host

    • subzero007
    • 4. März 2010 um 16:55

    Danke Danke...

    Funktioniert auch super.....

    aber einen letzten fehler habe ich was ich nicht rauskriege...??


    also so sieht meine listview aus:

    host|Administrators|UserAccount|Host\ServerAdmin|
    host|Administrators|UserAccount|Host\user2|
    host|Administrators|UserAccount|Domain\User1|
    host|Administrators|Group|Domain\Domain Admins|


    Aber tatsächlich habe ich 2 weitere gruppen in der Admingroup die er irgendwie verschluckt.. was mache ich falsch?
    Oder wo ist der fehler?

  • admin On host

    • subzero007
    • 4. März 2010 um 15:12

    Ich habe noch ein Bug endeckt....
    Wo ich nicht herausfinden kann woher das kommt?

    also so sieht meine listview aus:

    host|Administrators|UserAccount|Host\ServerAdmin|
    host|Administrators|UserAccount|Host\user2|
    host|Administrators|UserAccount|Domain\User1|
    host|Administrators|Group|Domain\Domain Admins|


    Aber tatsächlich habe ich 2 weitere gruppen die er irgendwie verschluckt.. was mache ich falsch?

  • admin On host

    • subzero007
    • 4. März 2010 um 14:48

    und wie mache ich das auf einer remote maschiene??

  • admin On host

    • subzero007
    • 4. März 2010 um 13:20

    so habe die ursache passiert nur dann wenn ich kein admin auf dem remote rechner bin...

    wie kann ich das abfragen??

  • admin On host

    • subzero007
    • 4. März 2010 um 13:10

    so diese option soll es ja nicht mehr geben..

    RunErrorsFatal

    Gibt es einen ersatz dafür?

  • admin On host

    • subzero007
    • 4. März 2010 um 12:25

    Hallo ,

    habe mir ein script geschrieben was vom remote rechner die Gruppe auließt.
    Funktioniert auch wunderbar bloss bei einigen Hosts kriege ich folgenden fehler und mein script stürtzt ab.


    F:\autoit\entwicklung\admin_group\03.au3 (97) : ==> Missing right bracket ')' in expression.:
    $colItems = $objWMIService.ExecQuery("Select SID from Win32_Group WHERE Domain='" & $srv & "'", "WQL", 0x30)
    $colItems = ^ ERROR
    ->12:23:02 AutoIT3.exe ended.rc:1

    Es würde mir alleine reichen wenn er nicht abstürtzt und weiter macht..

    Danke vorab für die hilfe...


    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\..\ico\11.ico
    #AutoIt3Wrapper_outfile=AdminOnHost.exe
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #include <File.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <inet.au3>
    ;#include <adfunctions.au3>

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

    $header = "Rechner|User|Login|Besitzer|IP|Status|"

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

    $Form1 = GUICreate("AdminOnHos", 900, 560, 231, 154)
    GUISetFont(8, 400, 0, "@Arial Unicode MS")
    GUISetBkColor(0xA6CAF0)
    $ListViewhost = GUICtrlCreateListView("Hostname", 32, 32, 170, 430)
    $Liste = GUICtrlCreateListView("Host|Group|Typ|Objekt", 224, 32, 670, 430)
    $Hostladen = GUICtrlCreateButton("Hostladen", 32, 14, 75, 17, $WS_GROUP)
    ;$Checkall22 = GUICtrlCreateButton("Last Logged OnUSER", 32, 460, 130, 17, $WS_GROUP)
    $Checkall11 = GUICtrlCreateButton("Starten", 220, 480, 130, 17, $WS_GROUP)
    $CheckUser = GUICtrlCreateButton("User Info", 350, 480, 70, 17, $WS_GROUP)

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

    $Inputcn = GUICtrlCreateInput("", 32, 480, 170, 23)
    $Insert = GUICtrlCreateButton("Hinzufügen", 42, 510, 130, 17, $WS_GROUP)
    $del = GUICtrlCreateButton("Löschen", 42, 530, 130, 17, $WS_GROUP)

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

    ;$stop = GUICtrlCreateButton("Stop", 32, 513, 75, 17, $WS_GROUP)
    $Export = GUICtrlCreateButton("Export", 820, 480, 75, 17, $WS_GROUP)

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

    GUISetState(@SW_SHOW)
    Global $FileOpenDialog, $ListViewText, $Text = "", $IP = "", $STATus = "", $result, $hostincsveingetragen
    Global $server, $objWMIService
    Global $oError = ObjEvent("AutoIt.Error", "_ErrFunc")

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

    While 1

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

    $nMsg = GUIGetMsg()

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

    Switch $nMsg
    Case $del
    _GUICtrlListView_DeleteAllItems($ListViewhost)
    _GUICtrlListView_DeleteAllItems($Liste)
    Case $Insert
    GUICtrlCreateListViewItem(GUICtrlRead($Inputcn), $ListViewhost)

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

    Case $Export
    _export()

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

    Case $GUI_EVENT_CLOSE
    Exit
    Case $Hostladen
    _load()
    Case $Checkall11

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

    _check()
    Case $CheckUser
    _userinfo()

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

    EndSwitch
    WEnd

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

    Func _check()

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

    Local $icount = _GUICtrlListView_GetItemCount($ListViewhost)
    For $i = 0 To $icount - 1
    $ListViewText = _GUICtrlListView_GetItemText($ListViewhost, $i)
    ;_befuelle_lv_liste()
    Global $server = $ListViewText
    If $CmdLine[0] > 0 Then $server = $CmdLine[1]

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

    $objWMIService = ObjGet("winmgmts:{impersonationLevel = impersonate}!\\" & $server & "\root\cimv2")
    Ping($server, 100) ; Host anpingen
    If not @error = 0 Then MsgBox(0, "", "Host Offline")
    If FileExists('\\' & $server & '\c$\windows\system32\') Then Membership_Administrators_Local($server)
    If FileExists('\\' & $server & '\c$\winnt\system32\') Then Membership_Administrators_Local($server)

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

    Next
    EndFunc

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

    Func Membership_Administrators_Local($srv)
    If StringUpper($srv) = StringUpper("Localhost") Then $srv = @ComputerName
    Local $function_name = "Members"
    Local $LM_members, $x, $LM_LocalGroup_Name, $type, $colItems2, $LM_local_user, $y, $line, $TimeStamp
    Local $filename_ms = $function_name & "_" & $srv
    Local $filename_error_current = $function_name & "_" & $srv & "_error.log"
    $LM_LocalGroup_Name = "Administrators"
    $colItems = $objWMIService.ExecQuery("Select SID from Win32_Group WHERE Domain='" & $srv & "'", "WQL", 0x30)
    ;If IsObj($colItems) Then
    If Not IsObj($objWMIService) Then Return

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

    For $objItem In $colItems
    If StringUpper($objItem.SID) = StringUpper("S-1-5-32-544") Then $LM_LocalGroup_Name = $objItem.Name
    Next
    ;EndIf
    $type = ""
    $LM_local_user = ""
    $colItems = $objWMIService.ExecQuery("Select * from Win32_GroupUser Where GroupComponent=""Win32_Group.Domain='" & $srv & "',Name='" & $LM_LocalGroup_Name & "'""", "WQL", 0x30)
    If IsObj($colItems) Then
    For $objItem In $colItems
    If $objItem.PartComponent <> "" Then
    $x = StringSplit($objItem.PartComponent, """")
    $type = StringMid($x[1], StringInStr($x[1], ":Win32_") + 7, (StringInStr($x[1], ".") - (StringInStr($x[1], ":Win32_") + 7)))
    $LM_members &= $srv & "|" & $LM_LocalGroup_Name & "|" & $type & "|" & $x[2] & "\" & $x[4] & "|" & @CRLF
    GUICtrlCreateListViewItem($srv & "|" & $LM_LocalGroup_Name & "|" & $type & "|" & $x[2] & "\" & $x[4] & "|", $Liste)

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

    EndIf
    Next
    EndIf

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

    ConsoleWrite($LM_members)

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

    EndFunc ;==>Membership_Administrators_Local

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

    Func _userinfo()

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

    $aSel = _GUICtrlListView_GetSelectedIndices($Liste, True)
    For $i = 1 To $aSel[0]
    $var1 = _GUICtrlListView_GetItemText($Liste, $aSel[$i], 3)
    $var2 = _GUICtrlListView_GetItemText($Liste, $aSel[$i], 0)
    $var1 = StringReplace($var1, 'emea\', '')
    If $var1 = "" Then
    MsgBox(0, "", "User ID nicht bekannt")
    Else

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

    ;RunAs($sUserName, 'emea', $sPassword, 0, @ScriptDir & '\Modul\lockout.exe '& $var1, @SystemDir)
    $TSDIS = Run(@ComSpec & " /c " & @ScriptDir & '\Modul\lockout.exe ' & $var1, "", @SW_HIDE)
    ConsoleWrite(@ScriptDir & '\Modul\lockout.exe ' & $var1)
    EndIf
    Next

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

    EndFunc ;==>_userinfo

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

    Func _export()

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

    $hWnd = $Liste
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")
    If @error Then Return MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))
    EndFunc ;==>_export

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

    Func _GUICtrlListView_Export($hWnd, $exType = 0, $Delim = Default) ; $exType=0 Array / $exType=1 String
    If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    Local $row = _GUICtrlListView_GetItemCount($hWnd)
    If $exType Then
    If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
    Local $sOut = ''
    For $i = 0 To $row - 1
    $sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
    Next
    If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
    Opt("MustDeclareVars", 1)
    Opt("MustDeclareVars", 1)
    Opt("MustDeclareVars", 1)
    Opt("MustDeclareVars", 1)
    Global $countc, $countm, $counts, $Labelhp, $lv3countm

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

    Return $sOut
    EndIf
    Local $col = _GUICtrlListView_GetColumnCount($hWnd)
    Local $aOut[$row][$col]
    If $col = 1 Then
    ReDim $aOut[$row]
    For $i = 0 To UBound($aOut) - 1
    $aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
    Next
    Return $aOut
    EndIf
    For $i = 0 To UBound($aOut) - 1
    For $j = 0 To UBound($aOut, 2) - 1
    $aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
    Next
    Next
    Return $aOut
    EndFunc ;==>_GUICtrlListView_Export

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

    Func _Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($ListViewhost) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    _GUICtrlListView_DeleteAllItems($Liste) ; Das Handle eben noch bestimmen (s. Anfang des Threads)

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

    Local $sItem
    $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
    Local $hFile = FileOpen($FileOpenDialog, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($ListViewhost) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $ListViewhost) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($ListViewhost) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>_Load

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

    Func _ErrFunc()
    Return
    EndFunc

    [/autoit]
  • HKCU remote lesen speichern und anschliessen importieren..

    • subzero007
    • 26. Februar 2010 um 17:55

    ???

    ist die SID vom User im AD nicht immer gleich also müsste ich doch nichts ersetzen oder habe ich ein denkfehler?

  • HKCU remote lesen speichern und anschliessen importieren..

    • subzero007
    • 26. Februar 2010 um 17:52

    Ok ich glaube das ist die bessere alternative....
    muss erstschauen wie ich folgendes hinkriege wo ich noch nicht weiss wie ich das machen ist.

    reg datei bearbeiten alte sid mit neuer sid ersetzen -----------

    Wie mache ich das... mit stringreplace, aber wie sollte ich es am besten machen mit alter SID und neuer SID?

  • HKCU remote lesen speichern und anschliessen importieren..

    • subzero007
    • 26. Februar 2010 um 17:33

    Ok das krieg eich hon glaube ich ....

    aber die Pfade werden die ich dann exportiere die ich anschiessen importieren will stimmen ja dann auch nicht?
    hast du da eine idee wie ich das dann sauber hinkriege ?

    Und vor allem wie kann man das dann sauber importieren auf die gleiche art undweise ohne das der anwender was machen muss...
    "ich meine damit das er nichts anklicken muss"???

  • HKCU remote lesen speichern und anschliessen importieren..

    • subzero007
    • 26. Februar 2010 um 16:16

    Ich will es ja dann sichern wenn der user ein defektes profil hat wenn man es immer haben möchte würde das logonscript eher angebracht als autostart oder?

    Psexec das kriegt man leider nicht den aktuell angemeldeten User...;-(

    Weiter vorschläge?

  • HKCU remote lesen speichern und anschliessen importieren..

    • subzero007
    • 26. Februar 2010 um 15:58

    So ählich mache ich es ja auch mit dem Export...
    ich wollte es remote machen ohne das der anwender das script ausführen muss...

    Da es ja ein HKCU schlüssel ist muss der anwender es ausführen ich wollte das umgehen ;)

    Eine idee ?
    Oder lieber den anwender Klicken lassen?

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™