Python - Auf regedit zugreifen und etwas verändern?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Und nun noch den Python-Code, mit dem Du darauf zugreifen willst und die exakte dazugehörige Fehlermeldung.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 99
- Registriert: Mittwoch 28. Dezember 2011, 12:50
Code: Alles auswählen
import sys, _winreg
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList\\Universum")
setValue(key, REG_DWORD, 1)
CloseKey(key)
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Users\-----\Desktop\test.py", line 3, in <module>
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList\\Universum")
WindowsError: [Error 2] The system cannot find the file specified
Zuletzt geändert von Hyperion am Sonntag 22. Juli 2012, 15:11, insgesamt 1-mal geändert.
Grund: Code in Python-Code Tags gesetzt.
Grund: Code in Python-Code Tags gesetzt.
-
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich hoffe Dir ist klar, dass die beiden letzten Zeilen im Code nicht klappen werden, sofern der Fehler davor gelöst worden ist?
Hast Du denn mal einen anderen Key auslesen können? Hast Du es mal simpel in einer Python-Shell probiert, wie S4rl es Dir so schön demonstriert hatte?
Hast Du denn mal einen anderen Key auslesen können? Hast Du es mal simpel in einer Python-Shell probiert, wie S4rl es Dir so schön demonstriert hatte?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 99
- Registriert: Mittwoch 28. Dezember 2011, 12:50
Ja mir is klar dass die letzten zeilen nciht funktionieren solang die ersten 2nicht funktionnieren
Und ja in der shell habe ic hes auch shon probiert... Gleiches resultat wie s4rl, außer dass wenn ich es mit meinem pfad probiere es eben die datei nicht finden konnte.
PS: das komische ist dass ich in regedit nich den pfad von s4rl sehe... aber funktionnieren tut er dennoch
Und ja in der shell habe ic hes auch shon probiert... Gleiches resultat wie s4rl, außer dass wenn ich es mit meinem pfad probiere es eben die datei nicht finden konnte.
PS: das komische ist dass ich in regedit nich den pfad von s4rl sehe... aber funktionnieren tut er dennoch
-
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hast Du es denn schon mal Schritt für Schritt probiert? Ab welcher Stelle im Schlüsselpfad geht es denn nicht mehr?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Na selbst wenn die ersten funktionieren, tun die anderen nicht weil völlig falsch.Pyanfänger hat geschrieben:Ja mir is klar dass die letzten zeilen nciht funktionieren solang die ersten 2nicht funktionnieren
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 99
- Registriert: Mittwoch 28. Dezember 2011, 12:50
@Hyperion
Ab SpecialAccounts. Also es geht bis WinLogon..(SpecialAccounts is das was ich selber angelegt habe.)
@Leonidas oh... habs grad gemerrkt
Ab SpecialAccounts. Also es geht bis WinLogon..(SpecialAccounts is das was ich selber angelegt habe.)
@Leonidas oh... habs grad gemerrkt
-
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Wenn es bis Winlogon geht dann machst du:
Was kommt dabei raus?
In der regedit scheint als Name alles erlaubt zusein, war mir vorher auch nicht klar. Es ist sogar erlaubt einen Key mit einem Leerzeichen zu beginnen oder zu beenden.
Code: Alles auswählen
import _winreg
winlogon = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon")
try:
i = 0
while True:
print repr(_winreg.EnumKey(winlogon, i))
i += 1
except WindowsError:
pass
In der regedit scheint als Name alles erlaubt zusein, war mir vorher auch nicht klar. Es ist sogar erlaubt einen Key mit einem Leerzeichen zu beginnen oder zu beenden.
@Sr4l: Ich finde das händische Hochzählen des Zählers irgendwie ganz schön anstrengend:
Und noch so als Randbemerkung: "python funny cats" hat es tatsächlich schon auf den dritten Rang gebracht. Interssant ist, dass ein anderer Thread verlinkt ist.
Code: Alles auswählen
for i in itertools.count():
print ...
Das Leben ist wie ein Tennisball.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Danke, ich habe das mal zum Anlass genommen mir functools und itertools nochmal anzuschauen, zwei Bibliotheken die ich viel zu selten einsetze.EyDu hat geschrieben:@Sr4l: Ich finde das händische Hochzählen des Zählers irgendwie ganz schön anstrengend:
Code: Alles auswählen
for i in itertools.count(): print ...
-
- User
- Beiträge: 99
- Registriert: Mittwoch 28. Dezember 2011, 12:50
-
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Verwirrend.
Im Endeffekt sagt die Ausgabe das dein Key Special Accounts nicht existiert. Da kann ich dir nicht helfen warum es ein Differenz zwischen der Ausgabe des Scripts und von regedit gibt.
Probier vll nochmal folgendes nur um alles zu sehen:
Beispiel Ausgabe Windows 7 aktuelles Patchlevel
Im Endeffekt sagt die Ausgabe das dein Key Special Accounts nicht existiert. Da kann ich dir nicht helfen warum es ein Differenz zwischen der Ausgabe des Scripts und von regedit gibt.
Probier vll nochmal folgendes nur um alles zu sehen:
Code: Alles auswählen
import itertools
import _winreg
winlogon = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon")
print "Keys:"
try:
for i in itertools.count():
print repr(_winreg.EnumKey(winlogon, i))
except WindowsError:
pass
print
print "Values:"
try:
for i in itertools.count():
print _winreg.EnumValue(winlogon, i)[0]
except WindowsError:
pass
Windows 7 hat geschrieben:Keys:
'GPExtensions'
'AutoLogonChecked'
Values:
ReportBootOk
Shell
PreCreateKnownFolders
Userinit
VMApplet
AutoRestartShell
Background
CachedLogonsCount
DebugServerCommand
ForceUnlockLogon
LegalNoticeCaption
LegalNoticeText
PasswordExpiryWarning
PowerdownAfterShutdown
ShutdownWithoutLogon
WinStationsDisabled
DisableCAD
scremoveoption
ShutdownFlags
AutoAdminLogon
DefaultUserName
DefaultDomainName
-
- User
- Beiträge: 99
- Registriert: Mittwoch 28. Dezember 2011, 12:50
Thx !
Jetzt zeigt er dass an:
Jetzt zeigt er dass an:
Code: Alles auswählen
Keys:
'GPExtensions'
Values:
ReportBootOk
Shell
PreCreateKnownFolders
DefaultDomainName
DefaultUserName
Userinit
VMApplet
-