smarti
Goto Top

WSHShell.RegWrite - Ungültige Wurzel

Hi...

Info:
SBS2008
.vbs Anmeldescript in %LOGONSERVER%/Netlogon
Windows 7 User


Ich will via Anmeldescript Registry-Werte erstellen.

Problem:
Er macht es nicht bei Standard User (Windows 7)

Textauszug Anmeldescript RegWrite:
On Error Resume Next

Dim WSHShell : Set WSHShell = CreateObject("WScript.Shell")  

WSHShell.RegWrite "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\Restricted", 1 ,"REG_DWORD"  
If Err.Number <> 0 Then
  WScript.Echo "Error in Reg1: " & Err.Description  
  Err.Clear
End If

WSHShell.RegWrite "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\NoWarningNoElevationOnInstall", 1 ,"REG_DWORD"  
If Err.Number <> 0 Then
  WScript.Echo "Error in Reg2: " & Err.Description  
  Err.Clear
End If

WSHShell.RegWrite "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\UpdatePromptSettings", 2 ,"REG_DWORD"  
If Err.Number <> 0 Then
  WScript.Echo "Error in Reg3: " & Err.Description  
  Err.Clear
End If

Errormeldung:
Error in Reg1: Ungültige Wurzel in Registrierungsschlüssel
"HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\Restricted".

das funktioniert natürlich auch nicht:
Dim WSHShell : Set WSHShell = CreateObject("WScript.Shell")  
WSHShell.Run "%comspec% /C REGEDIT /S %LOGONSCRIPT%\Netlogon\regpfad.reg", 0, true  



Grund für diesen Reg-Weg = Anderes Problem mit .vbs

Netzwerkdrucker werden nicht über .vbs installiert
(Hauptsächlich bei Windows 7 User)

Textauszug Anmeldescript Netzwerkdrucker:
Dim WSHNetwork : Set WSHNetwork = CreateObject("WScript.Network")  
WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\PDFCreator"  

Content-ID: 188460

Url: https://administrator.de/forum/wshshell-regwrite-ungueltige-wurzel-188460.html

Ausgedruckt am: 22.12.2024 um 11:12 Uhr

SlainteMhath
SlainteMhath 23.07.2012 um 15:02:49 Uhr
Goto Top
Moin,

in HKLM darf der Standard-User auch nichts schreiben. Wenn du an HKLM Änderungen vornehmen willst, muss das Script als Startscript (=mit System-Rechten) laufen, nicht als Loginscript (=mit User-Rechten).

lg,
Slainte
SMARTi
SMARTi 24.07.2012 um 09:23:02 Uhr
Goto Top
ok.. das hab ich gemacht und hat geklappt mit dem Startscript

aber ich find es trotzdem irgendwie "assi" das mit Windows 7 so viele schwierigkeiten sind etwas dem benutzer per script zu verpassen ohne irgendwo was zu lockern

fängt ja mit Netzwerkdrucker an
SlainteMhath
SlainteMhath 24.07.2012 um 09:35:27 Uhr
Goto Top
1. hat das nichts mit Windows 7 zu tun, in HKLM konnte man als User schon in XP nichts schreiben.
2. Warum verbindest du die Drucker mit der Maschine (HKLM) und nicht mit dem angemeldeten Benutzer (HKCU)?
3. Das Problem mit deinem VBS Script ist vermutlich, das für den Drucker noch keine Treiber auf der Win7 Kiste installiert sind - das darf der User naemlich nicht.

Meine Meinung: Klarer Fall von Sicherheitskonzept nicht verstanden face-smile
SMARTi
SMARTi 24.07.2012 aktualisiert um 09:49:09 Uhr
Goto Top
falsch verstanden...

das HKLM is ein thema und die druker ein anderes
die drucker werden nicht über HKLM installiert sondern per .vbs

' === Drucker Installieren =================================================  
For Each GroupObj In UserObj.Groups
	Select Case UCase(GroupObj.Name)
		Case "GRUPPE_1"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
		Case "GRUPPE_2"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.SetDefaultPrinter "\\192.168.0.1\randomdrucker"  
		Case "GRUPPE_3"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
		Case "GRUPPE_4"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.SetDefaultPrinter "\\192.168.0.1\randomdrucker"  
		Case "GRUPPE_5"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.SetDefaultPrinter "\\192.168.0.1\randomdrucker"  
		Case "GRUPPE_6"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
			WSHNetwork.AddWindowsPrinterConnection "\\192.168.0.1\randomdrucker"  
	End Select
Next
logging "Drucker installiert"  
' --------------------------------------------------------------------------  


sooo... und wenn jetzt ein drucker hinzu kommt, will ich ja nicht jeden PC einzeln abklappern um den druckertreiber erstma mit erhöten rechten zu installieren


Optimal-Fall:
Neuer Drucker kommt hinzu, ich füg ihn nur ins vbs ein und tada, am nächsten tag ist der neue drucker drin =)