RunAs

當遠端用戶端啟動而不撰寫為服務應用程式時,將類別設定為在特定使用者帳戶下執行。

登錄項目

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

備註

值會指定用戶名稱,而且必須是UserNameDomain**\**UserName 或字串 “Interactive User” 的格式。 您也可以指定字串 “nt authority\localservice” (針對本地服務) 和 “nt authority\networkservice” (針對網络服務)。 當 {AppID_GUID} 參考已啟動的 COM 伺服器或類別數據表中有專案時,您也可以指定字串 “nt authority\system”。 不過,您無法搭配尚未啟動的 COM 伺服器使用 「nt authority\system」。。 “nt authority\localservice”、“nt authority\networkservice” 和 “nt authority\system” 的默認密碼為 “” (空字符串)。

注意

從 Windows Vista 開始,不再需要空白密碼來設定 “nt authority\localservice”、“nt authority\networkservice” 和 “nt authority\system” RunAs 設定。

 

設定為以特定使用者身分執行的類別可能無法在任何其他身分識別下註冊,因此除非 COM 代表實際啟用要求啟動程式,否則對 CoRegisterClassObject 的呼叫會失敗。

用戶名稱取自類別AppID 索引鍵底下的 RunAs 值。 如果使用者名稱為「互動式使用者」,伺服器就會在目前登入的使用者身分識別中執行,並聯機到互動式桌面。

否則,密碼會從登錄的一部分擷取,而登錄只能供計算機系統管理員和系統使用。 接著會使用使用者名稱和密碼來建立執行伺服器的登入工作階段。 以這種方式啟動時,使用者會以自己的桌面和視窗月臺執行,而且不會與互動式使用者或其他使用者帳戶中執行的互動式使用者或其他使用者共用視窗句柄、剪貼簿或其他UI元素。

若要建立 RunAs 類別的密碼,您必須使用安裝在系統目錄中的 DCOMCNFG 系統管理工具。

針對 DCOM伺服器所使用的 RunAs 身分識別,值中指定的使用者帳戶必須具有以批次作業身分登入的許可權。 您可以使用本機安全策略系統管理工具來新增此許可權。 移至 [ 本機原則 ],然後開啟 [用戶權力指派]。 選取 [ 以批次作業身分登入],然後新增用戶帳戶。

RunAs 值不會用於設定為以服務身分執行的伺服器。 需要在 LocalSystem 以外的身分識別下執行的 COM 服務,應該使用服務控制面板小程式或服務控制器函式來設定適當的使用者名稱和密碼。 (如需這些函式的詳細資訊,請參閱 Services.)

注意

從 Microsoft Windows Server 2003 起,AppID 類別會明確地從 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID 讀取,這與大多數登錄機碼不同,無法與 HKEY_CLASSES_ROOT\AppID 交換。

 

註冊 COM 伺服器