RunAs

Konfiguriert eine Klasse so, dass sie unter einem bestimmten Benutzerkonto ausgeführt wird, wenn sie von einem Remoteclient aktiviert wird, ohne als Dienstanwendung geschrieben zu werden.

Registrierungseintrag

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      RunAs = value

Bemerkungen

Der Wert gibt den Benutzernamen an und muss entweder im Format UserName, Domain**\**UserName oder der Zeichenfolge "Interactive User" (Interaktiver Benutzer) vorliegen. Sie können auch die Zeichenfolgen "nt authority\localservice" (für Local Service) und "nt authority\networkservice" (für Netzwerkdienst) angeben. Sie können auch die Zeichenfolge "nt authority\system" angeben, wenn {AppID_GUID} auf einen COM-Server verweist, der bereits gestartet wurde oder über einen Eintrag in der Klassentabelle verfügt. Sie können "nt authority\system" jedoch nicht mit einem COM-Server verwenden, der noch nicht gestartet wurde. Das Standardkennwort für "nt authority\localservice", "nt authority\networkservice" und "nt authority\system" lautet "" (leere Zeichenfolge).

Hinweis

Ab Windows Vista ist kein leeres Kennwort mehr erforderlich, um die RunAs-Einstellungen "nt authority\localservice", "nt authority\networkservice" und "nt authority\system" zu konfigurieren.

 

Klassen, die für die Ausführung als bestimmter Benutzer konfiguriert sind, werden möglicherweise nicht unter einer anderen Identität registriert, sodass Aufrufe von CoRegisterClassObject mit dieser CLSID fehlschlagen, es sei denn, der Prozess wurde von COM im Namen einer tatsächlichen Aktivierungsanforderung gestartet.

Der Benutzername stammt aus dem RunAs-Wert unter dem AppID-Schlüssel der Klasse. Wenn der Benutzername "Interactive User" lautet, wird der Server in der Identität des aktuell angemeldeten Benutzers ausgeführt und mit dem interaktiven Desktop verbunden.

Andernfalls wird das Kennwort aus einem Teil der Registrierung abgerufen, der nur administratoren des Computers und des Systems zur Verfügung steht. Der Benutzername und das Kennwort werden dann verwendet, um eine Anmeldesitzung zu erstellen, in der der Server ausgeführt wird. Wenn der Benutzer auf diese Weise gestartet wird, wird er mit seiner eigenen Desktop- und Fensterstation ausgeführt und teilt keine Fensterhandles, die Zwischenablage oder andere UI-Elemente mit dem interaktiven Benutzer oder einem anderen Benutzer, der in anderen Benutzerkonten ausgeführt wird.

Um ein Kennwort für eine RunAs-Klasse einzurichten, müssen Sie das im Systemverzeichnis installierte DCOMCNFG-Verwaltungstool verwenden.

Für runAs-Identitäten , die von DCOM-Servern verwendet werden, muss das im -Wert angegebene Benutzerkonto über die Berechtigung zum Anmelden als Batchauftrag verfügen. Dieses Recht kann mithilfe des Verwaltungstools für lokale Sicherheitsrichtlinien hinzugefügt werden. Wechseln Sie zu Lokale Richtlinien , und öffnen Sie Zuweisung von Benutzerrechten. Wählen Sie Als Batchauftrag anmelden aus, und fügen Sie das Benutzerkonto hinzu.

Der RunAs-Wert wird nicht für Server verwendet, die für die Ausführung als Dienste konfiguriert sind. COM-Dienste, die unter einer anderen Identität als LocalSystem ausgeführt werden müssen, sollten den entsprechenden Benutzernamen und das entsprechende Kennwort mithilfe des Dienst-Systemsteuerungs-Applets oder der Dienstcontrollerfunktionen festlegen. (Weitere Informationen zu diesen Funktionen finden Sie unter Dienste.)

Hinweis

Ab Microsoft Windows Server 2003 wird die AppID-Klasse explizit aus HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppIDgelesen, die im Gegensatz zu den meisten Registrierungsschlüsseln nicht mit HKEY_CLASSES_ROOT\AppIDaustauschbar ist.

 

Registrieren von COM-Servern