Top-Themen

Aktuelle Themen (A bis Z)

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

Alte ntuser.dat hiven und Reg Einträge in neue Registry übernehmen?

Frage Entwicklung

Mitglied: einfachBernd

einfachBernd (Level 1) - Jetzt verbinden

25.01.2012, aktualisiert 10:34 Uhr, 3120 Aufrufe, 2 Kommentare

Hallo @all,

bräuchte beim Scripten bitte eure Hilfe

Muss aus einer alten NTUSER.DAT Daten auslesen und dann in die HKCU übernehmen:

Müsste folgende 4 Punkte in ein Batch File einbauen
REM 1) Drucker: alle eingerichteten Drucker vom Server serverPRNQ (keine weiteren Drucker), auch der vom User eingerichtete Standarddrucker soll wieder gesetzt werden,

Bisher habe ich wie folgt gearbeitet:
REM HIVE Migration anlegen
reg add HKEY_LOCAL_MACHINE\Software\Migration /f
reg load "HKU\_Migration\%username%" "\\server\Profiles$\%username%\ntuser.dat"

REM 1) Drucker: alle eingerichteten Drucker vom Server serverPRNQ (keine weiteren Drucker), auch der vom User eingerichtete Standarddrucker soll wieder gesetzt werden,
REM ------------------------------------------
reg copy "HKU\_Migration\%username%\Software\Microsoft\Windows NT\CurrentVersion\Windows\" "HKCU\_Migration\%username%\Software\Microsoft\Windows NT\CurrentVersion\Windows\" /f
reg copy "HKU\_Migration\%username%\Software\Microsoft\Windows NT\CurrentVersion\Devices" "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" /f

reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" > "%temp%\Drucker.txt"
find /i \\KSVPRNQ "%temp%\Drucker.txt" > "%temp%\Drucker2.txt"
for /f "skip=2 tokens=1" %%i in ("%temp%\Drucker2.txt") do rundll32 printui.dll,PrintUIEntry /q /dn /n %%i

REM HIVE Migration anlegen
reg unload "HKU\_Migration\%username%"


Ausgabe bei find /i \\serverPRNQ "%temp%\Drucker.txt" > "%temp%\Drucker2.txt"

Drucker2.txt
\\serverPRNQ\prt01 REG_SZ winspool,Ne00:

So nun meine Frage:
zu REM 1: Habe die Einträge aus HKU auf HCU kopiert, das funktioniert auch, jedoch verstehe ich nicht wie ich nun die Installation aller Drucker inizieren kann, bzw wie der Befehl geschrieben werden musss, dass alle Drucker installiert werden die der Anforderung entsprechen (for schleife mit suche?)

Wäre echt dankbar, wenn ich hier nen Fehler drinnen habe, dass mir jemand die passende Lösung schreibt

DAnke für die Hilfe
Mitglied: Karo
25.01.2012 um 11:02 Uhr
Hi,

ich habe vor einiger Zeit ein Script gebastelt mit dem man Printernamen eines Users ändern kann (auf dem Druckservern wurden damals andere Sharenamen angelegt). Vielleicht hilft es Dir weiter.
Da ich nicht die Zeit habe das Script an Deine Bedürfnisse umzustellen, kannst Du in dem benötigten Textfile für den alten und neuen Namen den gleichen Wert nehmen.

Den Drucker hast Du in Deinem Drucker2.txt bereits, benötigt wird nur der Shareteil (\\serverPRNQ\prt01) .
(\\SERVER\PRINTERNAME;\\SERVER\PRINTERNAME), Dann würde der Inhalt in etwa so aussehen:
\\serverPRNQ\prt01;\\serverPRNQ\prt01
\\serverPRNQ\prt02;\\serverPRNQ\prt02
\\serverPRNQ\prt......

Das File könnte nach dem Usernamen benannt sein (NAME_printers.txt) und mit \\MYSERVER\MYSHARE\%USERNAME%_printers.txt aufgerufen werden. im Code zu finden bei Set fsFILE = fs.GetFile("\\MYSERVER\MYSHARE\printers.txt")


01.
' CHANGE Printers for Users 
02.
03.
' Karo, 08.09.2010 
04.
' With this script you can change the mapping from Printernames 
05.
' OLDNAME to NENAME in a Textfile 
06.
' Syntax in TXT = \\SERVER\PRINTERNAMEOLD;\\SERVER\PRINTERNAMENEW 
07.
08.
' 20100908 Initial 
09.
' 20100909 Set Default Printer 
10.
' 20100910 Added Loop for check if Printer connected after renaming 
11.
 
12.
 
13.
' Set printers 
14.
' ****************************** 
15.
Const HKEY_CURRENT_USER = &H80000001 
16.
Const HKEY_LOCAL_MACHINE = &H80000002 
17.
 
18.
On Error Resume Next 
19.
Dim objNetwork, fs, fsFILE 
20.
Dim Counter, CounterU, aryPrinter(999), aryPrinterU(100), strComputer, strUsername 
21.
Dim splPrinter, x, y, fstemp, DefPrinter 
22.
Set objNetwork = CreateObject("WScript.Network") 
23.
Set fs = CreateObject("Scripting.FileSystemObject") 
24.
Set fstemp = fs.GetSpecialFolder(2) 
25.
wscript.echo ("The path to your TEMP folder is '" & fstemp & "'." ) 
26.
 
27.
'COPY FILE TO TEMP 
28.
'wscript.echo ("\\MYSERVER\MYSHARE\printers.txt") 
29.
Set fsFILE = fs.GetFile("\\MYSERVER\MYSHARE\printers.txt") 
30.
fsFILE.copy (fstemp & "\printers.txt") 
31.
 
32.
'READ FILE 
33.
Set fsFILE = fs.OpenTextFile(fstemp & "\printers.txt") 
34.
Counter = 0 
35.
Do Until fsFILE.AtEndOfStream 
36.
	Counter = Counter + 1 
37.
	aryPrinter(Counter) = fsFILE.Readline 
38.
	'wscript.echo Counter & " ---- " & aryPrinter(Counter) 
39.
Loop 
40.
 
41.
strComputer = "." 
42.
 
43.
'Read User Printer Connections 
44.
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
45.
    strComputer & "\root\default:StdRegProv") 
46.
CounterU = 0 
47.
strKeyPath = "Printers\Connections" 
48.
oReg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubKeys 
49.
For Each subkey In arrSubKeys 
50.
	CounterU = CounterU + 1 
51.
	aryPrinterU(CounterU) = UCase(Replace(subkey,",","\")) 
52.
Next 
53.
 
54.
'Get Current Username 
55.
strUsername = objNetwork.UserName 
56.
wscript.echo strUsername & " - Mapped Printers: " & CounterU 
57.
'READ MAPPED PRINTERS FROM USER 
58.
strComputer = "." 
59.
Set objWMIService = GetObject("winmgmts:" _ 
60.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
61.
 
62.
Set colInstalledPrinters =  objWMIService.ExecQuery _ 
63.
    ("Select * from Win32_Printer") 
64.
Y = 0 
65.
DefPrinter = "FALSE" 
66.
 
67.
For Each objPrinter in colInstalledPrinters 
68.
  For y = 1 to CounterU 
69.
	If InStr(1,UCase(aryPrinterU(Y)),UCase(objPrinter.Name),1) > 0 Then 
70.
  wscript.echo "##################################################" 
71.
  WScript.echo "SEARCH: " & aryPrinterU(Y) 
72.
   For x = 1 to Counter 
73.
 		splPrinter=Split(aryPrinter(x),";") 
74.
     'COMPARE MAPPED PRINTERS WITH PRINTERS IN FILE 
75.
     If InStr(1,aryPrinterU(Y),splPrinter(0),1) > 0 Then 
76.
 		 WScript.echo aryPrinterU(Y) & " - " & splPrinter(0) 
77.
				 wscript.echo "-YES-" 
78.
 
79.
      		'Is Printer Default 
80.
      			'DefPrinter = "FALSE" 
81.
      		  If objPrinter.Default = "True" Then 
82.
      		  	DefPrinter = splPrinter(1) 
83.
      		  	wscript.echo "Default Printer Flag is set on " & splPrinter(0) & "" 
84.
	      		 ' Else 
85.
	      		 ' 	DefPrinter = "FALSE" 
86.
	      		 ' 	Exit For 
87.
      		  End If 
88.
 
89.
     		'DELETE OLD MAPPING 
90.
				wscript.echo "-Delete Old Mapping-" 
91.
     		objNetwork.RemovePrinterConnection splPrinter(0) 
92.
     				wscript.echo splPrinter(0) 
93.
 
94.
     		'NEW MAPPING 
95.
				wscript.echo "-New Mapping-" 
96.
     		objNetwork.AddWindowsPrinterConnection splPrinter(1) 
97.
     		wscript.echo splPrinter(1) 
98.
 
99.
     		wscript.echo "######END " & splPrinter(1) & "#####" 
100.
     Else 
101.
     End If 
102.
   Next 
103.
  End If 
104.
  Next 
105.
Next 
106.
Y = 0 
107.
wscript.echo "##################################################" 
108.
wscript.echo "" 
109.
wscript.echo "" 
110.
wscript.echo "##################################################" 
111.
 
112.
If DefPrinter =  "FALSE" Then 
113.
	wscript.echo "No Default Printer in Remapped Printers" 
114.
Else 
115.
	wscript.echo "Check for Connection: " & DefPrinter & " " 
116.
	For counter = 0 to 2 
117.
		Set colInstalledPrinters =  objWMIService.ExecQuery _ 
118.
    ("Select * from Win32_Printer") 
119.
	 For Each objPrinter in colInstalledPrinters 
120.
	 'wscript.echo UCase(objPrinter.Name)& " -> " & UCase(DefPrinter) 
121.
		If InStr(1,UCase(objPrinter.Name),UCase(DefPrinter),1) > 0 Then 
122.
			wscript.echo "-Bingo!" 
123.
			counter = 3 
124.
			Exit For 
125.
		Else 
126.
		  counter = 1 
127.
		End If 
128.
	 Next 
129.
	Next 
130.
	     		'IF PRINTER IS DEFAULT (True) SET NEW DEFAULT 
131.
			     		If DefPrinter = "FALSE" Then 
132.
			     	  Else 
133.
								wscript.echo "-Set as Default" 
134.
			     			'objNetwork.SetDefaultPrinter splPrinter(1) 
135.
			     			'wscript.echo splPrinter(1) 
136.
			     			objNetwork.SetDefaultPrinter DefPrinter 
137.
			     			wscript.echo DefPrinter 
138.
			     		End If 
139.
End If 
140.
wscript.echo "##################################################" 
141.
wscript.echo "" 
142.
wscript.echo "#######################" 
143.
wscript.echo "###### END OF ALL " & "#####" 
144.
wscript.echo "#######################" 
145.
WScript.sleep 20000

Happy testing...

bye
Karo
Bitte warten ..
Mitglied: einfachBernd
25.01.2012 um 11:21 Uhr
Hi Karo,

danke für die Info, jedoch würde es mir reichen, wenn mir jemand das bestehende Script einfach anpasst oder erweitert. thx
Bitte warten ..
Ähnliche Inhalte
Windows Server
User aus alter Domäne in neue übernehmen
Frage von koehneWindows Server4 Kommentare

Hallo, da ein Teil unseres Unternehmens eine neues Unternehmen wird, muss ich zwei User in eine neue Domäne überführen. ...

Windows Systemdateien
Registry Hive offline einer vorhandenen Registry hinzufügen
Frage von HrwSiggiWindows Systemdateien7 Kommentare

Hallo. Folgendes Szenario: Ich habe eine Windows 7-Installation. Während der Laufzeit wird durch ein Programm ein UnloadKey auf die ...

Windows 10
Zeichenfolge in .reg Datei schreiben (Registry)
gelöst Frage von MedicalAdWindows 104 Kommentare

Guten Morgen, ich habe folgendes Problem, ich muss in einen bestimmten Pfad eine Zeichenfolge schreiben. Nur bekomme ich es ...

Windows 7
Frage zu Registry Einträge (Netzlaufwerke)
gelöst Frage von Axel90Windows 73 Kommentare

Guten Morgen, Unter dem Schlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 sind ja alle verbundenen Netzlaufwerke gespeichert. Kann mir jemand sagen, was es mit ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 12 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 16 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...