hugooo
Goto Top

Windows: .cer Zertifikate per Skript hinzufügen

Guten morgen,

wir müssen immer weider .cer Zertifikate auf PCs einspielen, die sich nicht in einer Domäne befinden, sodass GPOs rausfallen.

Ersten Ansätze wären per Batch oder per PowerShell:

Ich habe eine Batch Datei, die folgendes als Administrator ausführt:

Powershell.exe -Command "& {Start-Process Powershell.exe -ArgumentList '-ExecutionPolicy Bypass -File "PSInstallCert.ps1"' -Verb RunAs}"

Die PowerShell Datei PSInstallCert.ps1 hat folgenden Inhalt:
Import-Certificate -FilePath cacert.cer -CertStoreLocation Cert:\LocalMachine\Root
Import-Certificate -FilePath cacert.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
Import-Certificate -FilePath cacert.cer -CertStoreLocation Cert:\LocalMachine\My

Das Konstrukt soll so laufen, dass man die Batch "Als Administrator" startet und dann die Befehle alle ausgeführt werden. Bei PowerShell müsste man über Start - Als Administrator und die PowerShell Datei asuwählen - daher der Umweg über die Batch Datei, die ich direkt mit rechter Maustaste als Administrator starten kann.

Führe ich die PowerShell Zeilen manuell als Administrator aus, ist das Zertifikat in dem richtigen Speicher, sodass es für mich aussieht, als wenn das PowerShell nicht mit ausreichenden Rechten ausgeführt wird.

Jemand eine Idee ? Vielen Dank im Voraus!

Content-ID: 625220

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

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

emeriks
emeriks 24.11.2020 aktualisiert um 09:27:55 Uhr
Goto Top
Hi,
wie wäre es als Startup Script?
Das geht auch mit lokaler GPO und läuft immer voll eleviert.
Dann einen definierten Ordner festlegen, z.B. "C:\Window\neue Zertifikate" und das Script darin suchen lassen. Wenn es dort ein neues Zertifikat findet, dann importieren. Dann irgendwie merken, dass es ein Zertifikat bereits importiert hat. Bzw. es macht, glaube ich, nichts aus, wenn man den Import eines bereits importierten Zertifikats beim nächsten Start noch einmal ausführt. Da wird nichts doppelt importiert.

E.
hugooo
hugooo 24.11.2020 um 10:05:03 Uhr
Goto Top
Hallo E.

das wäre eine Strategie, aber leider noch keine Antwort auf mein Skript.

Automatisiert muss das gar nicht laufen, sondern 1 x in 4 Jahren - aber eben in den "Vertrauenswürdige Stammzertifizierungsstellen" und einmal in den "persönlichen Speicher" und dies muss immer per Assitent durchgeführt werden, was sehr lästig ist bei vielen Rechnern.
146707
146707 24.11.2020 aktualisiert um 10:40:36 Uhr
Goto Top
Kannst du einfach doppelt drauf klicken, startet sich selbst elevated wenn noch nicht, PS Commands kannst du selbst ergänzen...
@echo off
:: start elevated if not
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start "%~0" -verb runas &exit /b)  
:: here everything works elevated
powershell -EP Bypass -C "Import-Certificate -FilePath ...................."  
hugooo
hugooo 24.11.2020 um 11:13:53 Uhr
Goto Top
Hallo Prima,

PERFEKT - Läuft - vielen Dank!