Remote Registry lesen und schreiben

  • Hallo zusammen,
    ist es möglich mit AutoIT remote in die Registry zu schreiben oder zu lesen ?

    Grund:
    Ich habe 2 Server auf denen die gleiche Anwendung läuft (unter Citrix). Für dieses Programm kann ich Optionen hinterlegen. Diese Optionen werden in der Registry unter HKCU gespeichert. Ich möchte diese Optionen jetzt aber nur einmal eingeben und nicht wenn mich Citrix auf den zweiten Server lotst diese ganzen Angaben nochmal machen. Dazu müsste ich auch die SID auslesen damit ich auf dem Remoteserver in HKU / SID Hive reinschreiben kann, oder ?
    Wie würde soetwas gehen ?

    Danke Allen

  • Hi,
    RegRead -Write ist auch möglich für Remote PCs.
    Damit Du den Wert unter den entsprechenen Reg-Key schreiben kannst, musst du aber wie richtig vermutet die SID des User kennen.

    Gruss
    eddy_erpel

  • Hallo
    erstmals danke für Eure Antworten.

    Mega: Ja so hatte ich mir das vorgestellt.
    Setzen der Registry auf server1 und gleichzeitiger Connect an Server 2 und ebenfalls setzen der gleichen Registryeinträge. Ich kann das auch manuell machen, indem ich auf dem Server1 die Registry exportiere und auf Server2 importiere, aber genau das möchte ich vermeiden.

    Eddy_Erpel: In der Doku steht aber von dem RegRead oder Write nichts drin wie ich das auf Remoteservern machen kann. Zudem wie komme ich an die SID des Users ?

    Danke

  • Hi,
    also in meiner Hilfe zu RegWrite/RegRead steht

    Zitat

    It is possible to access remote registries by using a keyname in the form "\\computername\keyname". To use this feature you must have the correct access rights on NT/2000/XP/2003, or if you are using a 9x based OS the remote PC must have the remote registry service installed first (See Microsoft Knowledge Base Article - 141460).


    Vielleicht fälls mir noch was ein, wie man die SID ermitteln kann...
    Edit:
    SID ermitteln

    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
    $username="Username"
    $domain=@LogonDomain
    $objAccount = $objWMIService.Get ("Win32_UserAccount.Name='" & $username & "',Domain='" & $domain & "'")
    ;MsgBox("","",$objAccount.SID)

    [/autoit]

    Gruss
    eddy_erpel

    Einmal editiert, zuletzt von Eddy_Erpel (20. Juni 2007 um 10:30)

    • Offizieller Beitrag

    Hi,

    mit dem au3Lib geht es auch.

    Spoiler anzeigen
    [autoit]

    #include <A3LSecurity.au3>

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

    Opt("MustDeclareVars", 1)

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

    Global $sUser, $aName

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

    $sUser = InputBox("Security Demo", "Enter Network Name:", "Administrator", "", 200, 130)
    If @error <> 0 Then Exit

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

    $aName = _Security_LookupAccountName ($sUser)
    If @error = 0 Then
    _Lib_ConsoleWrite ("SID .........: " & $aName[0])
    _Lib_ConsoleWrite ("Domain ......: " & $aName[1])
    Else
    _Lib_ConsoleWrite ("Invalid user name")
    EndIf

    [/autoit]

    So long,

    Mega