yellowcake
Goto Top

Regedit - Proxy Einstellung in HKEY USERS

Hey

ich habe ein Problem:

Wir haben ein kleines Tool in AutoIT programmiert das Checkt ob die Lokale Domain erreichbar ist per Ping auf ABC.local. Wenn ja dann wird die Proxy einstellung aktiviert, wenn dann wird den Proxy deaktiviert.

Dafür lieben uns alle Mitarbeiter die mit Laptops arbeiten.

Unter Win 7 hat dies hier wunderbar funktioniert:
$var = Ping("ABC.local",1000)  
If @error = 0 Then
  RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable","REG_DWORD","1")  
  MsgBox (0, "Status","Proxy an",1.3)  

Else
  RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable","REG_DWORD","0")  
  MsgBox (0,"Status","Proxy aus",1.3)  
EndIf
wobei die MsgBox hier nur zum testen drin ist, wie man sieht ist die nicht aktiv...

jetzt habe ich unter Windows 10 - 1909 aber das problem das die Proxy Einstellung nicht mehr in:

HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings 

sondern in

Computer\HKEY_USERS\S-x-x-xx-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx\Software\Microsoft\Windows\CurrentVersion\Internet Settings

liegen...
Jetzt weiß ich gerade nicht wie ich meinem tool beibringen soll es soll immer in den Aktuellen S-x-... gehen soll. Gibt eine möglichkeit mittels sonderzeichen wie man z.b. %appdata% ?
also so was wie

Computer\HKEY_USERS\**%User%**\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Content-Key: 560453

Url: https://administrator.de/contentid/560453

Printed on: April 19, 2024 at 09:04 o'clock

Member: SlainteMhath
SlainteMhath Mar 24, 2020 at 10:33:38 (UTC)
Goto Top
Moin,

auch unter Win10 1909 entspricht HKCU dem aktuell angemeldeten User. Evtl. läuft dein Tool im falschen Usercontext? Wie/wann läuft denn das Teil?

lg,
Slainte
Member: manuel-r
manuel-r Mar 24, 2020 at 10:36:13 (UTC)
Goto Top
Hallo

Wie wäre es mit
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Dort ist für den angemeldeten Benutzer alles was du suchst.

Manuel
Member: Yellowcake
Yellowcake Mar 24, 2020 at 10:51:38 (UTC)
Goto Top
das läuft immer wenn ein User angemeldet ist und ein Letzwerk verbunden oder getrennt wird. dann wird die kleine exe gesartet und dann wird der wert entsprechend gesetzt.

jetzt stelle ich nur fest wenn ich bei meinem Windows 10 - 1909 in die regedit schaue das der wert nicht mehr in
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
sondern in
HKEY_USERS\S-x-x-xx-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx\Software\Microsoft\Windows\CurrentVersion\Internet Settings

sich verändert ...
darum funktioniert das tool auch bei mir nicht mehr face-sad
Member: manuel-r
manuel-r Mar 24, 2020 at 10:57:08 (UTC)
Goto Top
das läuft immer wenn ein User angemeldet ist und ein Letzwerk verbunden oder getrennt wird. dann wird die kleine exe gesartet und dann wird der wert entsprechend gesetzt.

Und in welchem Benutzerkontext wird die EXE ausgeführt? Mit dem angemeldeten Benutzer oder ein anderer?
Member: Yellowcake
Yellowcake Mar 24, 2020 at 11:00:23 (UTC)
Goto Top
der Task läuft auf den Aktuellen User:
%LogonDomain%\%LogonUser%
Member: Yellowcake
Yellowcake Mar 24, 2020 at 11:03:42 (UTC)
Goto Top
Wenn ich per Hand die einstellung in Windows setze, dann ändert sich der wert in der regedit nur in
HKEY_USERS\S-x-x-xx-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx\Software\Microsoft\Windows\CurrentVersion\Internet Settings
und nicht in
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings

wenn ich über die regedit den wert in
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
verändere passiert in Windows nichts, ändere ich es aber in
HKEY_USERS\S-x-x-xx-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx\Software\Microsoft\Windows\CurrentVersion\Internet Settings
dann ändert sich der wert auch in windows (also in der Windows oberfläche )
Member: manuel-r
manuel-r Mar 24, 2020 at 11:04:05 (UTC)
Goto Top
Hast du das auch mal verifiziert indem du %LogonDomain%\%LogonUser% mal in einer MsgBox ausgeben lässt?
Member: emeriks
emeriks Mar 24, 2020 at 11:05:05 (UTC)
Goto Top
@Yellowcake
Du trickst Dich selbst aus.

Für einen Benutzer mit der SID "S-bla-bla-bla" sind die Schlüssel
HKEY_CURRENT_USER
und
HKEY_USERS\S-bla-bla-bla
der selbe Schlüssel.
Der Weg über HKEY_USERS kann von z.B. LocalSystem oder einen Administrator genutzt werden, um in einem Profil eines anderen lokal registrierten Benutzers Änderungen vorzunehmen.
Läuft das Script also im Kontext des angemeldeten Benutzers, dann kann es in beiden schreiben. HKCU ist nur einfacher.
Läuft das Script aber in einem anderen Kontext, z.B. einem Admin-Konto oder dem von SYSTEM, dann muss es im HKEY_USERS schreiben. Das einfachste wäre dann, alle Schlüssel unterhalb von HKEY_USERS abzufragen und in allen ohne "_Classes" am Ende und mit min. 4x "-" drin die entsprechende Änderung vorzunehmen.
Member: manuel-r
manuel-r Mar 24, 2020 at 11:10:16 (UTC)
Goto Top
Wenn es nicht anders geht, weil bspw. der Kontext nicht stimmt, kannst du auch über
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
die SID zum richtigen Benutzer auflösen und dann entsprechen nach
HKEY_USERS\S-x-x-xx-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxx\Software\Microsoft\Windows\CurrentVersion\Internet Settings
schreiben
Member: Yellowcake
Yellowcake Mar 24, 2020 at 12:08:01 (UTC)
Goto Top
was ich nicht verstehe ist, das in HKEY_CURRENT_USER ja funktionieren müsste wenn ich es selber per Hand umstelle, dies aber in HKEY_USERS\S-bla-bla-bla geschrieben wird und auch nur dort ausgelesen wird ...

das ist was ich aktuell nicht verstehe
Member: Yellowcake
Yellowcake Mar 24, 2020 at 12:33:45 (UTC)
Goto Top
ok ich habe den fehler gefunden face-smile anderes auslesenverhalten von Windows 10 zu Windows 7 face-smile
Wenn ich in KEY_CURRENT_USER den wert setze, dann passiert dies auch, nur wird es Angezeigt wenn man die ganzen Internetoptionen neu startet. Bei Win 7 reichte wenn man die Optionssiete neu aufruft.

um sonst Panik gehabt face-smile

danke an euch alle ;)