keek20
Goto Top

Vista - Script zum Import von Zertifikaten als Administrator ausführen

Hallo zusammen!

Ich habe mir ein kleines Script geschrieben, dass zuerst ein Root-Zertifikat installiert und dananch ein Zertifikat importiert.
Das Script schaut so aus:

certutil -addstore root meinRootCA.cer
certutil -p 1 -importPFX meinCA.pfx
winhttpcertcfg -g -c LOCAL_MACHINE\My -s "meinCA" -a JEDER

Wenn ich dieses Script in Vista über ein "normales" cmd starte, bekomme ich eine Fehlermeldung und der Import schlägt fehl.

CertUtil: -addstore command FAILED: 0x80070005 (WIN32: 5)
CertUtil: Zugriff verweigert

Wenn ich dieses Script in Vista über Rechtsklick auf "cmd" -> "Als Administrator ausführen" starte, läuft alles einwandfrei.

Ist es irgendwie möglich, den cmd-Befehl immer "Als Administrator" auszuführen? Der User, der dieses cmd ausführt, ist ein Administrator.

Ich habe es schon mit "Runas" probiert, aber dafür muss der User sein PW eingeben, dass möchte ich nicht.
Die Variante mit "Aufgabenplanung" mit der Option "Task mit höchster Berechtigung ausführen" ist für mich auch nicht das wahre, da ich das Script einfach auf einen anderen Rechner kopieren möchte.


Ziel ist es, dass ein User, der in der lokalen Administratorengruppe ist, dieses Script einfach per Doppelklick ausführen kann.
Weitere Anforderung ist, dass das Script sowohl auf XP aus auch auf Vista läuft. Das Script soll nachher in einer Setuproutine automatisch laufen.

Gibt es da Ideen? Danke euch!

Gruß, keek

Content-Key: 129737

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

Printed on: April 25, 2024 at 21:04 o'clock

Mitglied: 60730
60730 Nov 19, 2009 at 09:06:31 (UTC)
Goto Top
Moin,

winhttpcertcfg -g -c LOCAL_MACHINE\

Muß das Zertifikat da rein?
Wenn ja - dann ganze per Startupskript starten.

Aber vorher bitte so "erweitern" - dass der Import nur dann läuft, wenn das Zertifikat nicht schon auf der Kiste drauf ist.

Oder einmalig per Psexec - wobei ich eher in "deinem" Fall das Zertifikat beim User verankern würden wollte.
(Wenn das Zertifikat - der Grund für das Zertifikat - dass zuläßt)

Gruß
Member: keek20
keek20 Nov 19, 2009 at 09:49:58 (UTC)
Goto Top
Danke schon mal für deine Antwort!


Zitat von @60730:
Moin,

> winhttpcertcfg -g -c LOCAL_MACHINE\

Muß das Zertifikat da rein?
Wenn ja - dann ganze per Startupskript starten.

Leider muss das ohne Neustart klappen.


Aber vorher bitte so "erweitern" - dass der Import nur dann
läuft, wenn das Zertifikat nicht schon auf der Kiste drauf ist.

Oder einmalig per Psexec - wobei ich eher in "deinem" Fall
das Zertifikat beim User verankern würden wollte.

Das Zertifikat muss bei den Maschinenzertifikaten verankert werden, da es auch für andere User ist.

Psexec habe ich gerade ausprobiert, wenn ich das script darüber starte bekomme ich die gleiche fehlermeldung.

Vielen Dank schonmal!
Member: DerWoWusste
DerWoWusste Nov 19, 2009 at 19:41:21 (UTC)
Goto Top
Moin.
Das Script soll nachher in einer Setuproutine automatisch laufen
Das musst Du mal näher erläutern

Du hast die Möglichkeiten, mit geplanten Tasks oder (für Vista und höher) mit Shims zu arbeiten. Geplante Tasks kannst Du zentral erzeugen/verteilen entweder über GPPs oder über Startskripte.
Member: keek20
keek20 Nov 20, 2009 at 07:56:10 (UTC)
Goto Top
ja Moin!

Zitat von @DerWoWusste:

Das musst Du mal näher erläutern

Ich habe ein kleines Programm, das mit selbsterstellten Zertifikaten arbeitet.
Das Programm läuft als Dienst, damit es nach Systemstart auch ohne Useranmeldung gewisse dinge ausführen kann. Damit dieses Programm einwandfrei läuft, muss das Zertifikat schon bei start des dienstes importiert sein.

Der Import des Zertifikates soll mit der Installation durchgeführt werden, gegen Ende.
Nach Abschluss der Installation (und dem Import des Zertifikates) wird der dienst dann gestartet. (ohne Neustart des pcs)

Am liebsten hätte ich ein kleines Script, das diese Arbeit erledigt. Dieses Script wird dann einfach während der Installation aufgerufen. Unter XP läuft das Script ja auch, aber unter Vista halt nicht automatisch. Nur wenn die cmd als Admin gestartet wurde und von da aus das script aufgerufen wird. Wie kann ich das Script so aufrufen, dass es mit "höchsten Rechten" ausgeführt wird? In dem Script wird eine weitere Anwendung aufgerufen, die auch mit "höchsten Rechten" gestartet werden muss, damit sie läuft.

Nun möchte ich diese Anwendung an Kollegen und Freunde verteilen. die haben einen PC zuhause oder auf der Arbeit. Hier kann ich keine gpos erstellen. Einen Neustart nach der Installation möchte ich auch vermeiden. der user kann ja auch ein cmd mit adminrechten starten und das script selber aufrufen, aber sowas muss doch auch per script automatisch gehen.

Vielen Dank nochmal!