Übergabe einer Zeile die vor der per findstr gefundenen Zeile liegt

Mitglied: 2nd.level.noobie

2nd.level.noobie (Level 1) - Jetzt verbinden

10.02.2016, aktualisiert 13:37 Uhr, 572 Aufrufe, 9 Kommentare, 1 Danke

Aaaalso erstmal ein freundliches Hallo und wie gehts.
Ich nutze euer Forum seit ein paar Tagen für Recherchen bezüglich Batch und Shell und bin jetzt leider an einem Problem angelangt, dass ich allein nicht lösen kann. Ich bin auch ein relativ blutiger Anfänger im cmd Coding aber versuche mein bestes, mich hineinzulesen.

Da ich aktuell bis zur Freischaltung meines Account im Ticketsystem unserer Firma noch ein wenig Freizeit habe, habe ich eine kleine Batch zur Sicherung eines Userprofils, die wir per Remote lokal auf dem User-PC ausführen können geschrieben, sprich Nutzerdaten kopieren, C:\Users\Userx löschen, restore.bat im Backupverzeichnis erstellen, mit der nach den notwendigen Änderungen die Daten wiederhergestellt werden können und Selbstlöschung zum Abschluss. Soweit funktioniert das auch alles hervorragend.

Jetzt möchte ich allerdings auch, dass gleichzeitig der Registrierungsschlüssel des Nutzers mit gelöscht wird, damit beim Neustart des Rechners die per Richtlinien gesetzten User Policys (die häufiger mal eine Fehlerquelle sind) neu gezogen werden.

Dieser Schlüssel liegt unter "HKLM\software\microsoft\windows nt\currentversion\profilelist\xyz"
XYZ hat hierbei keinerlei Bezug zum Username / Tag. Unter XYZ wiederum finde ich aber einen Schlüssel "profileimagepath" in dem der Wert das Usertags enthalten ist.

Da ich zu Beginn der Batchdatei diesen Tag eingebe um das Löschen anderer Profile auf dem Rechner zu vermeiden, suche ich mithile dieses Wertes den zugehörigen Schlüssel.
Ich möchte jetzt aber den wiederum übergeordneten Schlüssel XYZ finden und löschen. Und genau da liegt mein Problem, denn per findstr finde ich nur die Zeile, die den Wert "usertag" enthält, nicht aber die darüber liegende, die den Pfad zum übergeordneten Schlüssel angibt.

Faktum Code:

Bsp für den Inhalt der temp.txt:


HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\profilelist\S-1-5-18
ProfileImagePath REG_EXPAND_SZ %systemroot%\system32\config\systemprofile

HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\profilelist\S-1-5-19
ProfileImagePath REG_EXPAND_SZ C:\Windows\ServiceProfiles\LocalService

HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\profilelist\S-1-5-20
ProfileImagePath REG_EXPAND_SZ C:\Windows\ServiceProfiles\NetworkService

HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\profilelist\S-1-5-21-2010745621-3381963674-1579942189-1806914
ProfileImagePath REG_EXPAND_SZ C:\Users\stuebnpa

HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\profilelist\S-1-5-21-2010745621-3381963674-1579942189-2145428
ProfileImagePath REG_EXPAND_SZ C:\Users\bielagT

Ich möchte nun mithilfe des Tags "stuebnpa" die Zeile
"HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\profilelist\S-1-5-21-2010745621-3381963674-1579942189-1806914"
an temp2.txt ausgeben um sie von dort auf die Variable %Key% zu schicken.

Bin leider echt am Ende meines Lateins angelangt und würde mich über Hilfe sehr freuen. Mir ist auch bewusst, dass mein Coding sicherlich sehr umständlich ist, aber wie gesagt, ich bin noch blutiger Anfänger.

lg
Franco

edit: Aufgrund der Firmenrichtlinien sind leider weder externe Tools, noch Powershell möglich. Einzig und allein in cmd ausführbare Bordmittel. Benutzt wird Win7 / Win8.
Mitglied: emeriks
10.02.2016, aktualisiert um 11:04 Uhr
Hi,
es ist zwar nich Deine Frage, aber ...

habe ich eine kleine Batch zur Sicherung eines Userprofils, die wir per Remote lokal auf dem User-PC ausführen können geschrieben, sprich Nutzerdaten kopieren, C:\Users\Userx löschen, restore.bat im Backupverzeichnis erstellen, mit der nach den notwendigen Änderungen die Daten wiederhergestellt werden können und Selbstlöschung zum Abschluss.
Klassische Roaming Pofiles sind nichst für Euch?

Jetzt möchte ich allerdings auch, dass gleichzeitig der Registrierungsschlüssel des Nutzers mit gelöscht wird, damit beim Neustart des Rechners die per Richtlinien gesetzten User Policys (die häufiger mal eine Fehlerquelle sind) neu gezogen werden.
User Policies werden niemals beim Neustart eines Computers "gezogen". Du meinst sich "bei nächster Anmeldung"?
Aber auch hier:
  1. Im Zusammenhang mit Roaming Profiles und der GPo zum Löschen der lokalen Kopie des Profiles bei Abmeldung könntest Du das Löschen der Registry-Einträge auch erschlagen.
  2. Das erneute Anwenden von GPO - auch wenn diese sich nicht geändert haben - kann man ganz einfach mit "gpupdate /force" erzwingen.

E.
Bitte warten ..
Mitglied: 2nd.level.noobie
10.02.2016, aktualisiert um 11:18 Uhr
Erstmal danke für deine Antwort. :) face-smile
Ja, ich meine natürlich bei Neuanmeldung am Rechner und ja, wir nutzen bereits Roaming Profiles die per Smartcard mitgenommen werden
Darin sind allerdings nur die absoluten Basics festgelegt wie bestellte Software, Policies usw.

Viele User nutzen zum sichern ihrer Daten leider auch nicht das bereitgestellte Netzlaufwerk sondern "Eigene Dokumente" u.ä.

Nun treten in letzter Zeit allerdings oft Fehler mit neu bestellter Software auf, die auf fehlende/falsch gesetzte lokale Rechte zurückzuführen sind.
Da ich im 2nd Level Support tätig bin und wir gerade einen globalen Rollout anschieben, habe ich keine Zeit, mich jedes Mal auf individuelle Fehlersuche zu begeben. Aktuell lassen sich 99,9% dieser Fehler durch einen Profilreset beheben, daher auch die Batch zum Backup. Ich möchte mir einfach das manuelle Suchen per regedit ersparen und in die Batch implementieren.

Ich weiß, das ist nicht sonderlich elegant, aber momentan ziemlich effizient.
Bitte warten ..
Mitglied: emeriks
10.02.2016, aktualisiert um 11:39 Uhr
wir nutzen bereits Roaming Profiles die per Smartcard mitgenommen werden
Darin sind allerdings nur die absoluten Basics festgelegt wie bestellte Software, Policies usw.
Error! Hier verwechselst Du garantiert etwas. Oder meinst Du etwa "verbindliche Profile"?

Viele User nutzen zum sichern ihrer Daten leider auch nicht das bereitgestellte Netzlaufwerk sondern "Eigene Dokumente" u.ä.
Dafür gibt es dann ja die Ordnerumleitung per GPO.

Nun treten in letzter Zeit allerdings oft Fehler mit neu bestellter Software auf, die auf fehlende/falsch gesetzte lokale Rechte zurückzuführen sind.
Da ich im 2nd Level Support tätig bin und wir gerade einen globalen Rollout anschieben, habe ich keine Zeit, mich jedes Mal auf individuelle Fehlersuche zu begeben. Aktuell lassen sich 99,9% dieser Fehler durch einen Profilreset beheben, daher auch die Batch zum Backup. Ich möchte mir einfach das manuelle Suchen per regedit ersparen und in die Batch implementieren.

Ich weiß, das ist nicht sonderlich elegant, aber momentan ziemlich effizient.
Roaming Profiles + Löschen der lokalen Kopien bei Abmeldung + VSS auf dem Servervolume, wo die Roaming Profiles gespeichert sind
Wenn ein Profil Ärger macht:
  1. Benutzer abmelden
  2. VSS auf dem Server anstossen oder darauf verzichten, wenn die letzte zeitgesteuerte VSS-Kopie ausreichend ist
  3. Profil auf dem Server löschen
  4. Benutzer anmelden --> hat jetzt wieder ein frischen Profil
  5. bei Benutzerabmeldung wird das Roaming Profile wieder auf dem Server kopiert
  6. sollte das alte Profil nochmal benötigt werden, dann ist es eine Weile noch im VSS --> könnte man per Script auf dem Server sichern
Bitte warten ..
Mitglied: 2nd.level.noobie
10.02.2016 um 11:46 Uhr
Hmmm die Lösung per Schattenkopie ist intelligent, scheitert aber an meinen fehlenden Zugriffsrechten aufs Servervolume. Und unsere IT-Sec Abteilung ist nicht erfreut, wenn sie ständig Tickets von uns erhält, dass wir temporär Rechte benötigen. :( face-sad

Ich sag mal so - meine Optionen beschränken sich auf größtenteils auf Remotehilfe beim User. Welche Optionen hab ich da noch?
Bitte warten ..
Mitglied: emeriks
10.02.2016 um 11:58 Uhr
Wieso? Du hast doch als 2nd Level sicher auch Zugriff auf das Roaming Profile, denn sonst könntest Du doch dem Benutzer kein neues Profil verschaffen?
Falls ja, dann kannst Du das Profil auch klassisch vom Server kopieren. Oder einfach nur den Pfad umbennen. Bei nächster Anmeldung des Benutzers wird dieser sofort wieder erstellt.
Und wie gesagt: Ordnerumleitungen sind Dein Freund, wenn Du das Benutzerprofil schlank halten und verhindern willst, dass Benutzerdaten durch Löschen des Profiles verloren gehen könnten.

(Wohlgemerkt: Alles immer im Rahmen der Idee mit dem Roaming Profiles und dem löschen der lokalen Kopien bei Abmeldung.)
Bitte warten ..
Mitglied: 2nd.level.noobie
10.02.2016 um 12:18 Uhr
Ich glaube, wir reden aneinander vorbeioder ich bin zu doof :) face-smile
Also: Die User nutzen ihre Smartcard um sich per wave an jedem Rechner der Firma anzumelden. Beim anmelden wird automatisiert ihr Roaming Profile vom Server gezogen. Dieses enthält ihre globalen Rechte, den Link zu ihrem Netzlaufwerk, ihre Office Registrierung/Outlook Einstellungen und ihre bestellte Software, die sie dann lokal übers Softwarecenter installieren könn(t)en.

Da jeder User aber einen eigenen Arbeitsplatz hat, ist das entsprechende lokale Profil natürlich viel größer. Sprich Browereinstellungen, Desktopverknüpfungen/-dateien, eigene Dokumente usw usw. Nach Firmenrichtlinie ist jeder User für seine Daten selbst verantwortlich, sprich, es ist mir untersagt, dem User eine Ordnerumleitung anzulegen. Sein "gewachsenes" Profil wird bei Abmeldung nicht gelöscht sondern bleibt lokal hinterlegt.

Wenn ich jetzt ohne Backup einfach nur das lokale Profil lösche, erhält er bei Wiederanmeldung das blanke Roaming Profile vom Server. Das ist zwar fachlich richtig aber der User ist sauer weil sein lokales Setting weg ist.
Ja, eigentlich sollte der User alles im Netzlaufwerk ablegen, tut er aber nicht. Und da ich nett bin, will ich ihm trotzdem helfen.
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
LÖSUNG 10.02.2016, aktualisiert um 13:37 Uhr
Powershell:
Batch
Gruß jodel32
Bitte warten ..
Mitglied: 2nd.level.noobie
10.02.2016 um 13:37 Uhr
Was soll ich sagen. Perfekt. Danke.
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
10.02.2016, aktualisiert um 13:55 Uhr
Zitat von @2nd.level.noobie:

Was soll ich sagen. Perfekt. Danke.
de rien mon ami :-) face-smile
Bitte warten ..
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Festplatte aus defekten Notebook ausgebaut - wird nicht erkannt - Wie gelange ich an meine Daten?
gelöst 1nCoreVor 1 TagFrageFestplatten, SSD, Raid15 Kommentare

Hallo liebe Community, nach 7 Jahren hat mein XMG Notebook seinen Geist aufgegeben In dem Notebook waren zwei Festplatten verbaut (eine für System und ...

Erkennung und -Abwehr
Wie geschickt sich Malware verstecken kann - Ein Beispiel aus der Praxis eines Security Experts
colinardoVor 22 StundenTippErkennung und -Abwehr5 Kommentare

Servus Kollegen und Mitstreiter, da ja in letzter Zeit die Exchange-Lücken die Admin-Landschaft ziemlich aufgewirbelt haben und dabei auch immer mal wieder "sogenannte" Admins ...

Internet
Woher holt sich Android die Kontaktdaten von unbekannten Rufnummern?
gelöst anteNopeVor 1 TagFrageInternet8 Kommentare

Hallo zusammen, seit einiger Zeit merke ich, dass mir mein Android Gerät Namen und Informationen zu mir unbekannten Teilnehmern präsentiert. Soll heißen eine nicht ...

Windows Netzwerk
MS Lizenzierung - externe Scandienstleistung
monstermaniaVor 1 TagFrageWindows Netzwerk9 Kommentare

Hallo Allerseits, ich habe da mal eine Frage an die MS Lizenzspeziallisten. Eine externe Firma soll Scandienstleistungen für uns erledigen. Dazu ist angedacht, dass ...

Exchange Server
Exchange Update CU19 auf CU20 Fehler - Eine weitere Version dieses Produkts ist bereits installiert
gelöst StefanKittelVor 1 TagFrageExchange Server6 Kommentare

Hallo, ich habe hier einen Exchange 2016 mit CU19 (15.1.2176.2). Darauf wollte ich nun CU20 installiert. Download Es erscheint Eine weitere Version dieses Produkts ...

Windows Server
Hat Microsoft die WindowsServerSicherung oder diskpart zerpatcht?
anteNopeVor 18 StundenFrageWindows Server3 Kommentare

Hallo, kann es eventuell sein, dass Microsoft mit seinen letzten Updates die WindowsServerSicherung bzw. diskpart zerschossen hat? Es häufen sich bei mir seit gestern ...

Windows 10
Windows 10 Updates im Abgesicherten Modus nicht möglich!
gelöst Yuuto.LucasVor 1 TagFrageWindows 1016 Kommentare

Hallo, ich habe aktuell ein Problem bei einem Kunden Rechner. Bei diesem gibt es Probleme mit dem Soundkarten Treiber hdaudio.inf wegen dem der PC ...

Windows 10
Lokales Profil wird beim Herunterfahren gelöscht!
Yuuto.LucasVor 1 TagFrageWindows 1011 Kommentare

Hallo, ich habe aktuell folgendes Problem. An einem Kundenrechner ist aktuell ein Lokales Profil eingerichtet (vorher ein Server Profil bei dem das gleiche Problem ...