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-Key: 188460

Url: https://administrator.de/contentid/188460

Printed on: April 18, 2024 at 23:04 o'clock

Member: SlainteMhath
SlainteMhath Jul 23, 2012 at 13:02:49 (UTC)
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
Member: SMARTi
SMARTi Jul 24, 2012 at 07:23:02 (UTC)
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
Member: SlainteMhath
SlainteMhath Jul 24, 2012 at 07:35:27 (UTC)
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
Member: SMARTi
SMARTi Jul 24, 2012 updated at 07:49:09 (UTC)
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 =)