Paketierung - Powershell Script - Zertifikatsimport

Post Reply
schuermann
Posts: 15
Joined: 01. Jun 2010, 16:55
Contact:

Paketierung - Powershell Script - Zertifikatsimport

Post by schuermann » 18. Jul 2025, 13:53

Hallo,

ich habe ein Powershell gescriptet, welches eine PFX Datei importiert.
Die PFX-Datei ist AD-seitig auf bestimmte Benutzergruppen und User begrenzt (kein Passwort).
Die Installation funktioniert auch einwandfrei, wenn ich die Setup.exe als Empirum-Benutzer ausführe.
Allerdings funktioniert es nicht, wenn ich das Paket aus dem Software Depot lade.

Da wird der Zugriff auf die PFX Datei verweigert.

Leider konnte ich nicht herausfinden, welcher User die Installation vornimmt.
Der Benutzer unter "Installationsanmeldung" in DBUtil scheint es nicht zu sein, auch der Benutzer aus dem AgentTemplate scheint es ebenfalls nicht zu sein, da beide User das PFX öffnen und importieren dürfen.

Die Setup.inf läuft ohne Benutze-Anteil

Hier der Installationsteil:

Code: Select all

[Product]
; ReplaceEnv <Variable>

#Set:Product
#Set:Installation, DONTDELETE
#Set:Deinstallation, DELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product

[Set:Product]

[Set:Installation]
AddMeter -1
Call powershell -file "%Src%\CertImp.ps1" "%Src%\Zert.pfx"
If "%ErrorLevel%" <> "0" Then "SET:InstallationError" EndIf

munzur
Posts: 299
Joined: 23. Jun 2020, 19:26
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by munzur » 22. Jul 2025, 23:21

Die Installation im Maschinenteil läuft immer als LokalSystem.

schuermann
Posts: 15
Joined: 01. Jun 2010, 16:55
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by schuermann » 23. Jul 2025, 13:25

ah, ok.
Ich habe die INF dahingehend angepasst:

Code: Select all

Description             = Zertifikat
Method                  = Unattend
Tested on               =   
Dependencies            =   
Command line options    = /AW  
Last Change             = 10.07.2025
Build                   = 0

Code: Select all

#Set:Product
#Set:Installation, DONTDELETE
#Set:User, CLIENT, DONTDELETE
#Set:Deinstallation, CLIENT, DELETE
#Reg:OnUninstallProduct, DELETE
#Reg:Product
#Ini:Product
#Security:Product

Code: Select all

[Set:User]
AddMeter -1
Call powershell -file "%Src%\CertImp.ps1" "%Src%\xxx.pfx"
Dennoch kann das Zertifikat nicht installiert werden und eine "whoami" Abfrage ergibt, dass das Powershell Script immer noch im "System" Kontext gestartet wird:

Code: Select all

C:\EmpirumAgent\Packages\xxx\xxx\1.0\xxx.pfx
Import-PfxCertificate : Die PFX-Datei, die Sie importieren möchten, erfordert entweder ein anderes Kennwort oder die
Mitgliedschaft in einem Active Directory-Prinzipal, durch den sie geschützt ist.
In C:\EmpirumAgent\Packages\xxx\ZertImp\1.0\CertImp.ps1:5 Zeichen:1
+ Import-PfxCertificate -FilePath $Zert -CertStoreLocation cert:\LocalM ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-PfxCertificate], Win32Exception
    + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.CertificateServices.Commands.ImportPfxCer
   tificate

C:\EmpirumAgent\Packages\XXX\ETSZertImp\1.0\xxx.pfx
nt-autorität\system
Was habe ich übersehen?
Ich komme an der Stelle nicht weiter, es ist unbedingt notwendig, dass das Zertifikat als "User" importiert wird, da die Berechtigung auf das Zertifikat gesetzt wurde und ich keine Passwörter in der Instalaltionsroutine haben möchte.

munzur
Posts: 299
Joined: 23. Jun 2020, 19:26
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by munzur » 23. Jul 2025, 15:02

Ich denke, du musst die PS1 von %src% nach %app% kopieren lassen, und diese dann im Userteil von dort aus starten

schuermann
Posts: 15
Joined: 01. Jun 2010, 16:55
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by schuermann » 23. Jul 2025, 16:21

Du meinst also, ich kopiere die PS1 von %SRC% nach %app% und starte dann das Powershell, also quasi:

Code: Select all

Copy "%src%CertImp.ps1" "%app%\CertImp.ps1
Call powershell -file "%App%\CertImp.ps1" "%Src%\xxx.pfx"
So in Etwa?

munzur
Posts: 299
Joined: 23. Jun 2020, 19:26
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by munzur » 24. Jul 2025, 13:54

das Zertifikat vermutlich auch.

User avatar
Frank Dethlefsen
Posts: 555
Joined: 06. Apr 2006, 22:01
Location: Bochum
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by Frank Dethlefsen » 26. Jul 2025, 13:22

Moin!

Sollte ungefähr so aussehen:

...
#ProdMachine, MACHINE DONTDELETE
#ProdUser, CLIENT DONTDELETE

[ProdMachine]
MkDir "%App%\Source"
Copy "%Src%\Source\*.*" "%App%\Source\"

[ProdUser]
CD "%App%\Source"
Callhidden Powershell.exe -ExecutionPolicy unrestricted -File CertImp.ps1 xxx.pfx
Frank Dethlefsen
Consultant und Coach
UPDATENOW GmbH
Frank.Dethlefsen@updatenow.de
https://empirum.blogspot.de/

schuermann
Posts: 15
Joined: 01. Jun 2010, 16:55
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by schuermann » 28. Jul 2025, 09:53

Moin,

Danke für den Tip,
allerdings wird das Powershell Script immer noch als "nt-autorität\system" gestartet.

User avatar
Frank Dethlefsen
Posts: 555
Joined: 06. Apr 2006, 22:01
Location: Bochum
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by Frank Dethlefsen » 28. Jul 2025, 15:07

Es muss der Schalter /AW zusätzlich in den Paketeigenschaften unter Befehl gesetzt sein, sonst gibt es keinen Benutzerteil.
Frank Dethlefsen
Consultant und Coach
UPDATENOW GmbH
Frank.Dethlefsen@updatenow.de
https://empirum.blogspot.de/

schuermann
Posts: 15
Joined: 01. Jun 2010, 16:55
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by schuermann » 28. Jul 2025, 15:36

Der /AW Schalter ist ja drin, das hatte ich weiter oben schon gepostet.

Code: Select all

Method                  = Unattend
Tested on               =   
Dependencies            =   
Command line options    = /AW  
Last Change             = 10.07.2025
Build                   = 0

munzur
Posts: 299
Joined: 23. Jun 2020, 19:26
Contact:

Re: Paketierung - Powershell Script - Zertifikatsimport

Post by munzur » 29. Jul 2025, 08:48

Auch in den Paketeigenschaften in der EMC?

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 11 guests