Seite 1 von 2

Registry Key für alle User

Verfasst: 14 Mai 2019, 15:02
von Kay96
Hallo,
ich bin momentan dabei die Favoriten Funktion im Windows Explorer für Windows 10 wieder zu aktivieren.
Hierfür muss ich Registry Einträge an verschiedenen Stellen setzen.
Kompliziert gestaltet es sich nun, da die Registry Einträge unter "HKEY_CURRENT_USER" gesetzt werden müssen.

Bisher habe ich folgendes Skript entwickelt:

Code: Alles auswählen

;Favoriten im Windows Explorer setzen
Registry_Add_User_Properties_64Bit /AllNtuserdats
Registry_Add_User_Properties_32Bit /AllNtuserdats /32Bit
endif

[Registry_Add_User_Properties_64Bit]
;Reg-Schlüssel
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]
;Reg-Dword
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
SET "{323CA680-C24D-4099-B94D-446DD2D7249E}" = REG_DWORD:1
;Reg-Dword
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]
SET "SortOrderIndex" = REG_DWORD:4

[Registry_Add_User_Properties_32Bit]
;Reg-Dword
OpenKey [HKEY_CURRENT_USER\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]
SET "SortOrderIndex" = REG_DWORD:4
Wenn ich dies über Opsi Winst teste, dann funktioniert es natürlich, da die Einträge für den angemeldeten User gesetzt werden, aber ich möchte dass die Einträge für den Default-User gesetzt haben, damit alle neuen User diese Einträge haben.

Folgende Einträge werden für jeden User richtig gesetzt:

Code: Alles auswählen

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel -> {323CA680-C24D-4099-B94D-446DD2D7249E} = 1
Nicht gesetzt werden folgende Einträge:

Code: Alles auswählen

HKEY_CURRENT_USER\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E} -> SortOrderIndex = 4

HKEY_CURRENT_USER\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E} -> SortOrderIndex = 4
Hier ist noch der Ausschnitt aus dem LOG

Code: Alles auswählen

Ntuserdats
  
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-19]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-20]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-22549517-697550535-2346066015-1002]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-22549517-697550535-2346066015-500]  opened
    Key closed
    
    Branch: RechnerXXX
    "C:\Users\RechnerXXX\NTUser.dat" loaded.
      
        Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                        Key closed
                        Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]  opened
                      Variable "{323CA680-C24D-4099-B94D-446DD2D7249E}"  set to "1"
                      Key closed
                      Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                  Variable "SortOrderIndex"  set to "4"
                  Key closed
    
    Branch: Administrator
    "C:\Users\Administrator\NTUser.dat" loaded.
      
        Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                        Key closed
                        Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]  opened
                      Variable "{323CA680-C24D-4099-B94D-446DD2D7249E}"  set to "1"
                      Key closed
                      Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                  Variable "SortOrderIndex"  set to "4"
                  Key closed
    
    Branch: Default
    "C:\Users\Default\NTUser.dat" loaded.
      
        Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                        Key closed
                        Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]  created
                      Variable "{323CA680-C24D-4099-B94D-446DD2D7249E}"  set to "1"
                      Key closed
                      Registry key [HKEY_USERS\PatchNTUserdatTempUser\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                  Variable "SortOrderIndex"  set to "4"
                  Key closed
    
    Make it for user .DEFAULT
      
        Registry key [HKEY_USERS\.DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                        Key closed
                        Registry key [HKEY_USERS\.DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]  created
                      Variable "{323CA680-C24D-4099-B94D-446DD2D7249E}"  set to "1"
                      Key closed
                      Registry key [HKEY_USERS\.DEFAULT\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                  Variable "SortOrderIndex"  set to "4"
                  Key closed
  Execution of: Registry_Add_User_Properties_32Bit /AllNtuserdats /32Bit
  Ignoring parameter /32bit for /AllNTUserdats. This is always /sysnative
  
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-19]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-20]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-22549517-697550535-2346066015-1002]  opened
    Key closed
    Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-22549517-697550535-2346066015-500]  opened
    Key closed
    
    Branch: RechnerXXX
    "C:\Users\RechnerXXX\NTUser.dat" loaded.
      
        Registry key [HKEY_USERS\PatchNTUserdatTempUser\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                Variable "SortOrderIndex"  set to "4"
                Key closed
    
    Branch: Administrator
    "C:\Users\Administrator\NTUser.dat" loaded.
      
        Registry key [HKEY_USERS\PatchNTUserdatTempUser\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                Variable "SortOrderIndex"  set to "4"
                Key closed
    
    Branch: Default
    "C:\Users\Default\NTUser.dat" loaded.
      
        Registry key [HKEY_USERS\PatchNTUserdatTempUser\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                Variable "SortOrderIndex"  set to "4"
                Key closed
    
    Make it for user .DEFAULT
      
        Registry key [HKEY_USERS\.DEFAULT\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]  created
                Variable "SortOrderIndex"  set to "4"
                Key closed
EndIf
___________________
script finished: success
0 errors
0 warnings

installed product: config-win10-bm Version: 1.0-1

product config-win10-bm set to update
Update script name:
we have no update script
Ich würde mich freuen, wenn sich das Problem mal jemand anschauen könnte.

Vielen Dank!

Liebe Grüße

Re: Registry Key für alle User

Verfasst: 15 Mai 2019, 14:30
von SisterOfMercy
Kay96 hat geschrieben:

Code: Alles auswählen

;Favoriten im Windows Explorer setzen
Registry_Add_User_Properties_64Bit /AllNtuserdats
Registry_Add_User_Properties_32Bit /AllNtuserdats /32Bit
endif

[Registry_Add_User_Properties_64Bit]
;Reg-Schlüssel
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]
;Reg-Dword
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
SET "{323CA680-C24D-4099-B94D-446DD2D7249E}" = REG_DWORD:1
;Reg-Dword
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Classes\Wow6432Node\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]
SET "SortOrderIndex" = REG_DWORD:4

[Registry_Add_User_Properties_32Bit]
;Reg-Dword
OpenKey [HKEY_CURRENT_USER\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}]
SET "SortOrderIndex" = REG_DWORD:4
Currently, [HKEY_CURRENT_USER\Software\Classes] keys can not be used.

The HKEY_CURRENT_USER part of the registry is independent of 64/32-bit, except for a tiny part, which you should not use.
This is more like it:

Code: Alles auswählen

Registry_Add_User_Properties /AllNtuserdats

[Registry_Add_User_Properties]
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{323CA680-C24D-4099-B94D-446DD2D7249E}]
OpenKey [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
SET "{323CA680-C24D-4099-B94D-446DD2D7249E}" = REG_DWORD:00000001
invis.vbs

Code: Alles auswählen

set args = WScript.Arguments
num = args.Count

if num = 0 then
    WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
    WScript.Quit 1
end if

sargs = ""
if num > 1 then
    sargs = " "
    for k = 1 to num - 1
        anArg = args.Item(k)
        sargs = sargs & anArg & " "
    next
end if

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False

Code: Alles auswählen

[Files_install]
; Copy invisibility script
copy "%ScriptPath%\files\invis.vbs" "%SystemRoot%\System32"

[Registry_install_Classes_AllProfiles]
openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "c24d" = 'wscript invis.vbs reg add "HKCU\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}" /v SortOrderIndex/t REG_DWORD /d "00000004" /f'
This is a workaround.
The invis.vbs script will keep the reg add action silent. You could also remove wscript invis.vbs, and start with reg add, this will flash a command window upon logon.

Re: Registry Key für alle User

Verfasst: 15 Mai 2019, 14:34
von SisterOfMercy

Code: Alles auswählen

; Music
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag]
set "ThisPCPolicy" = "Hide"
This place in the registry might be what you are looking for. I even forgot what it hides where. :D

Re: Registry Key für alle User

Verfasst: 15 Mai 2019, 19:19
von Kay96
Vielen Dank für deine Antwort!
Ich denke mal, dass du deutsch sprichst/verstehst, deshalb antworte ich mal auf deutsch.
Dein VBS Skript verstehe ich leider nicht (ist mit momentan noch zu schwierig). Kann ich das Skript 1 zu 1 so verwenden? Bin etwas verwirrt wegen der Stelle "<some script arguments>".
Das Skript kann ich im späteren Schritt wieder löschen oder? Werden die Einträge für alle User gesetzt (inklusive Default)? Oder nur für alle die momentan erstellt sind?

Was mich etwas verwundert ist, dass ich 2 Registry Einträge setzen kann unter folgendem Pfad
HKEY_CURRENT_USER\SOFTWARE
Warum funktionieren dann die Weiteren nicht?
Mit den Zusatz 32Bit funktioniert der letzte Eintrag unter dem CurrentUser, aber halt nur über Winst.

Es wäre sehr nett, wenn du meinem Gedächtnis auf die Sprünge helfen könntest.

Liebe Grüße

Re: Registry Key für alle User

Verfasst: 15 Mai 2019, 23:32
von SisterOfMercy
Kay96 hat geschrieben:Ich denke mal, dass du deutsch sprichst/verstehst, deshalb antworte ich mal auf deutsch.
Ja, gerne. Mein Deutsch is nicht so gut. Ich kann den basics: "zwei Schwarzbier bitte".
Kay96 hat geschrieben: Dein VBS Skript verstehe ich leider nicht (ist mit momentan noch zu schwierig). Kann ich das Skript 1 zu 1 so verwenden? Bin etwas verwirrt wegen der Stelle "<some script arguments>".
Das Skript kann ich im späteren Schritt wieder löschen oder? Werden die Einträge für alle User gesetzt (inklusive Default)? Oder nur für alle die momentan erstellt sind?
Yes, I have copied the exact script that I have used with success.
I put it in system32, so I can use it when I need it. You can not remove the script afterwards. It will need it when a new user logs in.
Kay96 hat geschrieben: Was mich etwas verwundert ist, dass ich 2 Registry Einträge setzen kann unter folgendem Pfad
HKEY_CURRENT_USER\SOFTWARE
Warum funktionieren dann die Weiteren nicht?
viewtopic.php?p=36381#p36381
viewtopic.php?f=25&t=9299
The part of the registry that contains the hkey_current_user\software\classes part is not loaded by opsi.

I was trying to program something to fix this, but I haven't gotten around to do it properly.
Kay96 hat geschrieben:Werden die Einträge für alle User gesetzt (inklusive Default)? Oder nur für alle die momentan erstellt sind?
Yes, because this runonce is created with /allntuserdats this is created for all users, and also default. However, I have had some problems with new users logging in. Sometimes the runonce is run before the entire profile is created, so it gets overwritten. I have fixed this with a task that runs after a minute or so, that runs the entire thing. (I currently use this to delete all desktop.ini files shown on the desktop in windows 10).
Kay96 hat geschrieben:Mit den Zusatz 32Bit funktioniert der letzte Eintrag unter dem CurrentUser, aber halt nur über Winst.
This is because it looks like it works but the changes do not get written out.

Re: Registry Key für alle User

Verfasst: 16 Mai 2019, 07:38
von Kay96
Vielen Dank für die Mühe!
Ich werde das so schnell wie möglich ausprobieren.
zwei Schwarzbier bitte
Mehr musst du auch erstmal garnicht können :lol:
The part of the registry that contains the hkey_current_user\software\classes part is not loaded by opsi.

I was trying to program something to fix this, but I haven't gotten around to do it properly.
Hab ich aus Zufall gestern noch gelesen, nachdem ich dir hier geantwortet habe. Leider sehr ärgerlich, aber vielleicht ändert Opsi daran nochmal etwas.

Re: Registry Key für alle User

Verfasst: 16 Mai 2019, 19:31
von Kay96
Ich habe das vbs Skript vorhin mal getestet, aber leider funktioniert es nicht. Der Registry Key wird nicht gesetzt. Trotzdem nochmal vielen Dank!

Re: Registry Key für alle User

Verfasst: 17 Mai 2019, 01:41
von SisterOfMercy
Have you tried it without the invis.vbs script?

Code: Alles auswählen

openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "AC15_LRF" = 'reg add "HKCU\Software\Autodesk\AutoCAD\R20.0\ACAD-E001:409" /v LocalRootFolder /t REG_SZ /d "%UserProfile%\appdata\local\autodesk\autocad 2015\r20.0\enu" /f'
This is an example from a working script.

Code: Alles auswählen

[Registry_install_Classes_AllProfiles]
openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "c24d" = 'reg add "HKCU\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}" /v SortOrderIndex/t REG_DWORD /d "00000004" /f'
This should be it. Maybe it will not work, because the registry is loaded asymmetric. Then I'll show you the method of using task manager for this.

Re: Registry Key für alle User

Verfasst: 17 Mai 2019, 08:32
von Kay96
Ich habe nun folgendes probiert.

1. Versuch
Invis.vbs unter CLIENT_DATA\Files\invis.vbs

Code: Alles auswählen

[Actions]

Files_install /64Bit
Registry_install_Classes_AllProfiles /AllNTUserDats

[Files_install]
; Copy invisibility script
copy "%ScriptPath%\files\invis.vbs" "%SystemRoot%\System32"

[Registry_install_Classes_AllProfiles]
openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "c24d" = 'wscript invis.vbs reg add "HKCU\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}" /v SortOrderIndex/t REG_DWORD /d "00000004" /f'
invis.vbs liegt unter C:\Windows\System32\invis.vbs.

2. Versuch

Code: Alles auswählen

[actions]
Registry_install_Classes_AllProfiles /AllNTUserDats

[Registry_install_Classes_AllProfiles]
openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "c24d" = 'reg add "HKCU\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}" /v SortOrderIndex/t REG_DWORD /d "00000004" /f'
3. Versuch

Code: Alles auswählen

[actions]
Registry_install_Classes_AllProfiles /AllNTUserDats

[Registry_install_Classes_AllProfiles]
openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "AC15_LRF" = 'reg add "HKCU\Software\Autodesk\AutoCAD\R20.0\ACAD-E001:409" /v LocalRootFolder /t REG_SZ /d "%UserProfile%\appdata\local\autodesk\autocad 2015\r20.0\enu" /f'

openkey [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
set "c24d" = 'reg add "HKCU\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}" /v SortOrderIndex/t REG_DWORD /d "00000004" /f'
Die Anweisungen befinden sich unter "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce", aber es wird kein Schlüssel "HKCU\Software\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}" erstellt.
Beim Start werden die Befehle ausgeführt.

Re: Registry Key für alle User

Verfasst: 17 Mai 2019, 09:51
von AlexB
SisterOfMercy hat geschrieben: Currently, [HKEY_CURRENT_USER\Software\Classes] keys can not be used.
Geht das auch nicht wenn man direkt ein .reg-File für alle User importiert?
Sprich, erst die Einstellungen per Export sichern und dann über /registry und /allntuserdats importieren für jeden User.

VG

edit1:
@TE
Warum möchtest du eigentlich die Favoriten zurück? Der Schnellzugriff-Eintrag hat doch die gleiche Funktionalität, oder nicht?