Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Reg query für REG BINARY Wert

Frage Entwicklung Batch & Shell

Mitglied: blue0711

blue0711 (Level 2) - Jetzt verbinden

28.06.2013 um 15:06 Uhr, 2716 Aufrufe, 7 Kommentare, 1 Danke

Hallo,

ich rätsele gerade etwas über reg query:

Der gesuchte Unterschlüssel enthält den Wert "Account Name" als REG_BINARY.
Da im diesem Wert bei den gewünschten Treffern immer der Domainname steht, wollte ich danach suchen (also @...)

Folgenden Befehl hab ich dafür verwendet (Domainnamen bei /f natürlich komplett)
01.
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /v "Account Name" /t REG_BINARY /d /s /e /z /f 40006Bxxxxxxxx
Dummerweise bekomme ich dann immer mehrere Ergebnisse, obwohl der Wert definitiv nur ein einziges Mal in diesem Zweig steht

Was mach ich falsch?

Gruß
Kai
Mitglied: rubberman
29.06.2013 um 11:18 Uhr
Hallo blue0711,

dieser Key existiert auf meinem Rechner nicht. Vielleicht exportierst du den Schlüssel Profiles einfach mal in eine *.reg Datei. Dann kannst du ihn mit einem Texteditor selbst untersuchen oder du postest den Inhalt hier, dann kann man den Key fix mal in die eigene Registry importieren und den Code testen. Vermutlich findet sich dann auch eine Lösung...

Grüße
rubberman
Bitte warten ..
Mitglied: colinardo
29.06.2013, aktualisiert um 14:42 Uhr
Hallo Kai,
kann ich hier nachvollziehen. Scheint als wäre die rekursive Suche mit reg query sehr unzuverlässig, denn auch testweise durchgeführte Suchaktionen in anderen Schlüsseln brachten keine vernünftigen Ergebnisse (BUG ?).
Würde daher auf eine andere Methode z.B. via Powershell oder VBS zurückgreifen.
Für Powershell hätte ich da folgendes auf Lager:
01.
$regpath = Get-ChildItem -recurse -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"  
02.
$accounts = @{} 
03.
foreach ($key in $regpath){ 
04.
    $itm = Get-ItemProperty -Path $key.pspath -Name "Account Name" -ErrorAction SilentlyContinue 
05.
    if ($itm){ 
06.
        $accountData = $itm | select * 
07.
        $accounts[$accountData.pspath.Split(":")[2]] = [System.Text.Encoding]::Unicode.GetString($accountData."Account Name") 
08.
09.
10.
# Alternativ Ausgabe nur von Accounts die einen Domainnamen enthalten 
11.
#$onlyDomainNames = $accounts.getEnumerator() | ?{$_.Value -like "*@*"} | %{$_.Value.Split("@")[1]} 
12.
 
13.
#Ausgabe der Hashtable mit Registry-Pfaden und Account-Namen im Klartext 
14.
$accounts
Grüße Uwe
Bitte warten ..
Mitglied: Susie1703
02.07.2013 um 15:56 Uhr
Huhu,

da klinke ich mich doch jetzt gerade mal mit ein....

@Uwe: ich habe Dein Script mal ausprobiert und läuft auch ganz gut.
Bis auf das der Pfad in der Auflistung dann abgeschnitten wird. (ist aber nicht so wild da ich mir so oder so "$accountData.PSChildName" ausgeben lasse.)
Wobei es auch nett wäre zu wissen wie man das dem austreiben kann.

Nun stehe ich aber voll auf dem Schlauch und habe keine Ahnung wie dem sagen kann das er mir nur die "@yxz.de" anzeigen lassen soll.

Ich habe bei dem
01.
 $accountData = $itm | select * 
mit WHERE hin und her probiert, aber irgendwie will das nicht so... Sollte auch noch dazu sagen das ich absoluter Powershell N00b bin

Ich habe mich schon ein wenig durch gegoogelt auch wegen dem abgeschnittenen text, aber irgendwie will alles was ich ausprobiert habe nicht so wie ich möchte.

Wäre super toll wenn du mir da ein wenig unter die Arme greifen könntest. Danke

LG Susie
Bitte warten ..
Mitglied: colinardo
02.07.2013, aktualisiert um 16:20 Uhr
Hallo Susie,
die Ausgabe wird nicht abgeschnitten, das sieht nur so aus weil die Powershell nicht genug Platz zum Anzeigen hat - die Werte sind jedoch vorhanden.
Für die Ausgabe nur der Domainnamen brauchst du eigentlich nur den kommentierten Abschnitt auskommentieren, aber zur Sicherheit poste ich nochmal das ganze Script dazu:

01.
$regpath = Get-ChildItem -recurse -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"  
02.
$accounts = @{} 
03.
foreach ($key in $regpath){ 
04.
    $itm = Get-ItemProperty -Path $key.pspath -Name "Account Name" -ErrorAction SilentlyContinue 
05.
    if ($itm){ 
06.
        $accountData = $itm | select * 
07.
        $accounts[$accountData.pspath.Split(":")[2]] = [System.Text.Encoding]::Unicode.GetString($accountData."Account Name") 
08.
09.
10.
# Alternativ Ausgabe nur von Accounts die einen Domainnamen enthalten 
11.
$onlyDomainNames = $accounts.getEnumerator() | ?{$_.Value -like "*@*"} | %{"$_.Value = $_.Name"} 
12.
$onlyDomainNames
Dies gibt nur die Domainnamen aus.
wenn du nur die Registry-Pfade ausgeben willst kannst du das so machen:

01.
$accounts.getEnumerator() | ?{$_.Value -like "*@*"} | %{$_.Name}
Hinweis: Das Script filter nur Einträge die ein @ enthalten.

Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
Bitte warten ..
Mitglied: Susie1703
03.07.2013, aktualisiert um 08:19 Uhr
Hallo Uwe,

vielen lieben Dank, da kann ich mich heute dann gleich noch ein wenig ausleben und vielleicht verstehe ich das ganze dann auch mal

Ich sollte mir vielleicht doch mal eine "Powershell - Jetzt mach ich's mir selbst" PDF anschauen.



LG Susie
Bitte warten ..
Mitglied: Biber
03.07.2013, aktualisiert um 18:09 Uhr
[OT]

Pssst, Susie1703, Überraschung,
Zitat von Susie1703:
Ich sollte mir vielleicht doch mal eine "Powershell - Jetzt mach ich's mir selbst" PDF anschauen.

"Powershell" und "Jetzt mach ich's mir selbst" sind zwei ganz unterschiedliche PDFs.
Trotzdem viel Spass mit beiden.

Grüße
Biber
P.S. Eines der beiden habe ich auch schon komplett durchgearbeitet.
[/OT]
Bitte warten ..
Mitglied: Susie1703
03.07.2013 um 14:31 Uhr
Zitat von Biber:
[OT]

"Powershell" und "Jetzt mach ich's mir selbst" sind zwei ganz unterschiedliche PDFs.
Trotzdem viel Spass mit beiden.

Grüße
Biber
[/OT]
[OT]

Na toll, mein Chef liest hier mit, was der nun wieder von mir denkt

[/OT}

Aber davon mal abgesehen bin ich schon um einiges weiter mit meinem Script.

01.
 
02.
 
03.
$regpath = Get-ChildItem -recurse -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"  
04.
$accounts = @{} 
05.
foreach ($key in $regpath){ 
06.
    $itm = Get-ItemProperty -Path $key.pspath -Name "Account Name" -ErrorAction SilentlyContinue 
07.
    if ($itm){ 
08.
        $accountData = $itm | select * 
09.
        $accounts[$accountData.pspath.Split(":")[2]] = [System.Text.Encoding]::Unicode.GetString($accountData."Account Name") 
10.
		#$accounts[$accountData.PSChildName] = [System.Text.Encoding]::Unicode.GetString($accountData."Account Name") 
11.
12.
	 
13.
	 
14.
15.
# Alternativ Ausgabe nur von Accounts die einen Domainnamen enthalten 
16.
 
17.
$onlyDomainNames = $accounts.getEnumerator() | ?{$_.Value -like "*@xyz.com*"} | %{$_.Name} 
18.
 
19.
foreach ($key in $onlyDomainNames){ 
20.
	 
21.
	Set-Location HKCU: 
22.
	 
23.
	New-ItemProperty -Path $onlyDomainNames -Name "New Signature" -PropertyType Binary -Value ([byte[]](0x6b,0x00,0x68,0x00,0x69,0x00,0x6e,0x00,0x67,0x00,0x00,0x00)) 
24.
	New-ItemProperty -Path $onlyDomainNames -Name "Reply-Forward Signature" -PropertyType Binary -Value ([byte[]](0x6b,0x00,0x68,0x00,0x69,0x00,0x6e,0x00,0x67,0x00,0x00,0x00)) 
25.
	 
26.
	#Get-ItemProperty -Path $onlyDomainNames -Name "New Signature" 
27.
28.
 
Noch nicht Perfekt aber es wird... Er findet mir die Keys in denen meine "xyz.com"-Mailadressen drinne sind, in diese schreibe ich dann die Werte für "New Signature" und "Reply-Forward Signature" damit auch jeder unsere Signatur benutzt!

Das ganze wird dann noch eine Abfrage bekommen ob dieser Wert schon vorhanden ist, wenn dem so ist dann darf Powershell diesen anpassen.

Nochmal vielen Dank an Uwe...

LG Susie
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 10
REG Query HKLM (3)

Frage von AtoAto zum Thema Windows 10 ...

Windows Systemdateien
WMI Notofication Query Access denied 0x80041003

Frage von 124611 zum Thema Windows Systemdateien ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...