Probleme mit RegDacl.Add

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Beitrag von Walter_Schulz » 05. Jul 2005, 18:23

mfisahn hat geschrieben:Hallo,
eben DAS möchte ich nicht - ich möchte diese Berechtigungen aus Empirum heraus setzen (natürlich durchaus unter Zuhilfename externer Werkzeuge).
Hintergrund ist, dass diese Policies von anderen Admins gepflegt werden und ich nicht jedesmal für solche "Kleinigkeiten" abstimmen kann, wo diese Policies angepasst werden sollen.
Hoert sich fuer mich erstmal nicht besonders schluessig an. Begruendung:
Einmalige Abstimmung mit den GPO-Admins und der Registry-Key wird per GPO mit den benoetigten Zugriffsrechten ausgestattet. Dann kann man per Empirum einfach die Eintraege selbst vornehmen.

Welche der beiden Empirum-Methoden wollten Sie denn einsetzen? Bei servergespeicherten Profilen laesst sich die Reg-Load-Methode uebrigens nicht so ohne weiteres verwenden, da die lokalen Profile dann regelmaessig ueberschrieben werden. Man kann per Reg-Load auch die servergespeicherten Profile manipulieren, benoetigt dazu aber zusaetzlichen Aufwand wg. der Profile, die eventuell schon lokal geladen wurden und dann bei Benutzerabmeldung von der lokalen Einstellung wieder ueberschrieben werden. Jens Beimels Methode funktioniert auch nicht ohne zusaetzlichen Aufwand wegen der erwaehnten obligatorischen Entfernung der Benutzer aus der Admin-Gruppe.

Ciao!
Walter Schulz

mfisahn
Beiträge: 12
Registriert: 04. Jul 2005, 12:01
Wohnort: Detmold
Kontaktdaten:

Beitrag von mfisahn » 06. Jul 2005, 08:18

Wir erstellen auch Pakete für andere Standorte, deren Policies wir nur sehr bedingt beeinflussen können.
Der von Ihnen beschriebene Weg über SUBINACL scheint mir der geeignete Ansatz zu sein um mein Problem zu lösen - ich teste das und gebe hier eine Rückmeldung.

Gruß
Michael Fisahn

Sandra
Beiträge: 105
Registriert: 20. Jul 2006, 10:04
Kontaktdaten:

Beitrag von Sandra » 12. Jul 2007, 13:33

Hallo,
Folgendes Problem:
ich muss die folgenden Einträge mit Regdacl schreiben und habe mir gedacht ich mache es folgendermaßen...
regdacl.add (HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}", "Benutzer", SET, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}","",0x00000000,"Kryptographische Tokens"

Aber wie schreibe ich dass noch in die Zeile mit 0x00000000,"Kryptographische Tokens" ???
Kann mir da jemand einen Tipp geben?

Gruß Sandra

Sandra
Beiträge: 105
Registriert: 20. Jul 2006, 10:04
Kontaktdaten:

Beitrag von Sandra » 12. Jul 2007, 13:53

Folgende Fehlermeldung bekomme ich noch:
12.07.2007 13:51:41
Kann Sicherheitsbefehl nicht ausführen:

regdacl.add (HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}", "Benutzer", SET, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

Windows-Fehlercode: 2
Das System kann die angegebene Datei nicht finden.
Abbrechen

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7626
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Beitrag von Hendrik_Ambrosius » 12. Jul 2007, 14:33

Bitte mal HKCR ausschreiben.
Steht der Befehl wirklich in der Security-Sektion?
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

Sandra
Beiträge: 105
Registriert: 20. Jul 2006, 10:04
Kontaktdaten:

Beitrag von Sandra » 12. Jul 2007, 14:46

Guten Tag Herr Ambrosius,

nee, standardmässig steht er unter

[Reg:Product]
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}","",0x00000000,"Kryptographische Tokens"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}","InfoTip",0x00000000,"Verwaltet die Cryptographic Tokens und Middleware in SafeSign"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\DefaultIcon","",0x00000000,"%App%\SafeSign\Management Utility\TokenManager.exe"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\Shell",,0x00000010
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\Shell\Open",,0x00000010
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\Shell\Open\Command","",0x00000000,"%App%\SafeSign\Management Utility\TokenManager.exe"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\ShellFolder","Attributes",0x00010001,0

Aber wenn er da steht und ich die Installation starte, läuft die Installation ohne Probleme durch. Jedoch wenn ich dann in die Registry gehe, sind die Einträge nicht vorhanden.
Muss ich das vielleicht anders machen?

Gruß Sandra

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7626
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Beitrag von Hendrik_Ambrosius » 12. Jul 2007, 16:03

In der REG-Sektion KANN er nicht funktionieren.
Nur in der SECURITY-Sektion.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

porschinho
Beiträge: 45
Registriert: 16. Nov 2005, 13:41
Kontaktdaten:

Beitrag von porschinho » 12. Jul 2007, 16:33

und auf die Reihenfolge würde ich achten. Der Key muss natürlich zuerst erstellt werden, bevor man die Berechtigungen darauf ändert.

Das würde auch die Fehlermeldung erklären.

Sandra
Beiträge: 105
Registriert: 20. Jul 2006, 10:04
Kontaktdaten:

Beitrag von Sandra » 13. Jul 2007, 07:50

Könnt Ihr mit mal an einen Beispiel zeigen, wie ich das dann genau schreiben muss?
Danke Gruß Sandra

AFiedler
Beiträge: 265
Registriert: 15. Nov 2005, 16:02
Wohnort: Köln
Kontaktdaten:

Beitrag von AFiedler » 13. Jul 2007, 09:24

Ungefähr so würde ich sagen...

...
#Set:Product, MACHINE DONTDELETE
#Reg:Product, DONTDELETE
...
#Security:Product, DONTDELETE
...
[Reg:Product]
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}","",0x00000000,"Kryptographische Tokens"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}","InfoTip",0x00000000,"Verwaltet die Cryptographic Tokens und Middleware in SafeSign"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\DefaultIcon","",0x00000000,"%App%\SafeSign\Management Utility\TokenManager.exe"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\Shell",,0x00000010
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\Shell\Open",,0x00000010
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\Shell\Open\Command","",0x00000000,"%App%\SafeSign\Management Utility\TokenManager.exe"
HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}\ShellFolder","Attributes",0x00010001,0
...

[Security:Product]
regdacl.add (HKCR,"CLSID\{33E05B0B-2471-4d14-AA42-61823380E9AC}", "Benutzer", SET, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)

empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Probleme, per Empirum in den HKCU-Zweig zu schreiben

Beitrag von empagent » 01. Okt 2007, 16:31

jbeimel hat geschrieben:Hallo Walter,

Am Anfang wird mit LocalGroup.AddMember der angemeldete User in die Gruppe der lokalen Admins genommen, dann wird der RegDacl.Add durchgeführt und dann wieder mit LocalGroup.DelMember der User wieder raus aus den lokalen Admins.
Hallo, zusammen,

Grundsätzliches Problem, warum ich es nicht per GPO's machen kann ist bei mir, dass es sich um ein Registry-Fix handelt, das an Remote-Standorten dafür sorgen soll, dass sich die GPO's überhaupt durchsetzen.

Daher finde ich den Ansatz von Herrn Beimel sehr gut (Deinstallation ist nicht so wichtig), allein die Umsetzung hapert. Meine Setup.inf sieht an entsprechender Stelle so aus:

[Security:Product]
LocalGroup.AddMember (Administratoren, DOMAIN\Test)

[Reg:Product]
HKCU,"SOFTWARE\Policies\Microsoft\Windows\System","GroupPolicyMinTransferRate",0x00010001,0
HKLM,"SOFTWARE\Policies\Microsoft\Windows\System","GroupPolicyMinTransferRate",0x00010001,0

[Security:Product2]
LocalGroup.DelMember (Administratoren, DOMAIN\Test)


Jedenfalls erhalte ich nach wie vor den Fehler 5 (Schlüssel konnte nicht in der Registrierungsdatenbank angelegt werden. Was mache ich falsch? Bin für jeden Hinweis dankbar!

Und eine Frage noch hinterher: gilt LocalGroup.AddMember nur für User oder auch für Gruppen?

Viele Grüße,
Christian

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Beitrag von Walter_Schulz » 01. Okt 2007, 17:43

Mit der vollstaendigen Setup.inf (ohne Passwoerter, falls vorhanden), waere das Problem einfacher zu erfassen.

Ciao!
Walter Schulz

empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Beitrag von empagent » 01. Okt 2007, 17:59

Hallo, Walter,

danke für die schnelle Antwort. Was wäre aus Deiner Sicht noch von Relevanz? Es handelt sich hier um eine - ich nenne sie mal "sehr standardmäßige" - setup.inf aus einer DIFF-Installation, in der ich lediglich die beiden RegKeys gesetzt habe. Ansonsten habe ich einzig und allein den Abschnitt Security:Product2 deklariert und entsprechend des Posts von Jens Beimel die Security-Abschnitte um diese LocalGroup.Add- und -delete-Zeilen erweitert. Das ist ja schon alles!

Stimmt hier vielleicht nur die Syntax nicht?

LG,
Christian Bartz

Walter_Schulz
Beiträge: 876
Registriert: 17. Dez 2004, 12:29
Kontaktdaten:

Beitrag von Walter_Schulz » 02. Okt 2007, 09:32

Was geht schneller? Wenn ich mir die Arbeit mache und die relevanten Stellen versuche zu raten (mit ggf. mehreren Wiederholungen) oder wenn hier einfach die gesamte Inf vor mir liegt und ich auf einen Blick die Zusammenhaenge erfassen kann?

Bitte die Inf posten (Tag "Code" verwenden).

Ciao!
Walter Schulz

empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Beitrag von empagent » 02. Okt 2007, 14:04

Hallo, Walter,

nichts für ungut, hier die Setup.inf:

Code: Alles auswählen

[SetupInfo]
Author                  =Christian.Bartz 
CreationDate            =21.09.2007 11:57:32 
InventoryID             = 
Description             = Registry-Einträge, damit sich GPO's an Remote-Standorten korrekt durchsetzen.
Method                  = DIFF, MANUELL
Tested on               = WXP SP2
Dependencies            = 
Command line options    = /S0 /AW
Last Change             = 01.10.2007 15:45
Build                   = 6

[VarDefInfo]
; <Variable>, <Type>, <Allow>

[Setup]
Version=10.5
ShowCaption=1
BlockInput=1

[Requirements]

[Application]
ProductName=GPO Registry-Fix
ProductNameShort=GPO Registry-Fix
Version=1.0
VersionDirSuffix=100
Revision=0
ServiceRelease=0
DeveloperName=HYPOPORT Systems
DeveloperNameShort=
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",         Arial,           30, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text2="%DeveloperName%",                 Arial,           24, , 00FFFF, 4,    , LEFT BOLD ITALIC
Text8="%Company%",                       Arial,           18, , 00FFFF, 4,  10, RIGHT BOLD ITALIC
Text9="%InstallationFor% %WindowsUser%", Arial,           14, , 007F00, 4, -14, BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
BackgroundPicture=
BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%, 0%, 100%, 100%, HCENTER VCENTER
PrecopyFiles=
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperNameShort% %ProductName%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
HideUninstall=0
UninstallDisplayIcon=
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=1
AskLicence=0
AskInfo=0
AskFromCD=0
AskShared=0
AskMode=0
AskDir=0
AskDataDir=0
AskUser=0
AskWinDir=0
UseUser=0
UseCompany=1
UseProductID=0
ProductIDLength=0
UseProductIDPerOption=0
UseCheckmarks=2
AutoIniFileMapping=0
ShellLinks=1
CommonShellLinks=0
CreateUnresolvableShellLinks=1
ShowShellFolder=
LicenceText=
InfoText=
RequirementsText=
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
PrintServer=
PrintEnvironment=
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=0
StartServicesOnReboot=0
CallTimeOut=3600
AbortAfterCallTimeOut=1
ReplaceRunOnce=0
DisableCancelButton=1
ShowEndMessage=1
EndMessage=%EndMessageDesc%
SetupExtDll=
SetupHookFunc=
ShowFullPath=0
VerboseLevel=0

[Admin]
AdminSetup=0
ApplicationDir=
AskDir=1
AskOptions=0
ClientSrcDir=Client
ReinstallString="%Src%\..\..\..\..\User\Setup.exe" "%Src%\%SetupInfDir%\Setup.inf"
UninstallString=%ReinstallString% /U


[Client]
AskDir=0
AskOptions=1
ClientDir=
InstallAtLast=0
Reboot=0
UseUninstallStringFromApplication=1

[Workstation]
AskOptions=0
AdminUninstallLink=0
AdminUninstallLinkName=%ProductName% %Version%
UserSetupLink=0
UserSetupLinkName=%ProductName% %Version%

[Strings:07]
Disk1=Diskette 1: Installationsdiskette
EndMessageDesc=Die Installation wurde erfolgreich abgeschlossen!
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
ProductDesc=
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren

[Strings:09]
Disk1=Diskette 1: Installation disk
EndMessageDesc=Installation was completed successfully!
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
ProductDesc=
SetupWizard=Installation Wizard
Uninstallation=Uninstallation

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=%SoftwareDepotServerName%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%

; Maschinenabhängige Variablen
; machine dependent variables
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%

; Userabhängige Variablen
; user dependent variables
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%

; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!

[Prompts]

[Services]

[EventSources]

[Encryption]

[Disks]
1=%Disk1%

[UserKeyNames]

[Icons]
Product = %ProductNameShort%.ico, 0, 000000, ICON

[Options]
Installer = %InstallerName%, COPYALWAYS, Installer, "%InstallerDesc%"
Product   = %ProductName%,   COPYALWAYS, Product,   "%ProductDesc%"

[OptionDependencies]

[OptionGroups]

[Installer]
1:..\..\..\..\User\Setup.exe,      %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupDeu.chm,   %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\SetupEnu.chm,   %CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:..\..\..\..\User\Mx42SynSem.dll, %System%,         OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP, 0
1:%SetupInfDir%\Setup.inf,                         , NORMAL,                                             0

[FileCheckMachine]
ReplaceEnv V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf

[FileCheckClient]
ReplaceEnv V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf

[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf

[FileIsntThere]
ErrorLogMsg <Error>
Abort

[Product]
;#FileCheckMachine, MACHINE
;#FileCheckClient, CLIENT

;ReplaceEnv <Variable>

#Set:Product
#Reg:OnUninstallProduct, DELETE
#Security:Product
#Reg:Product
#Security:Product2
#Ini:Product



[Set:Product]
;1:, %App%, CREATE DIRECTORY CASCADED, 0


[Reg:OnUninstallProduct]

[Security:Product]
LocalGroup.AddMember (Administratoren, HYPOPORT\Christian.Bartz)

[Reg:Product]
HKCU,"SOFTWARE\Policies\Microsoft\Windows\System","GroupPolicyMinTransferRate",0x00010001,0
HKLM,"SOFTWARE\Policies\Microsoft\Windows\System","GroupPolicyMinTransferRate",0x00010001,0

[Security:Product2]
LocalGroup.DelMember (Administratoren, HYPOPORT\Christian.Bartz)

[Ini:Product]


[Shell:Installer]
;%ProductName%\%ProductName% Setup, %ReinstallString%
;%ProductName%\%ProductName% %Uninstallation%, %UninstallString%, , , , , 1, ,

[Shell:Product]
Danke für Deine Hilfe!

LG,
Christian

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 Gäste