變更安全性實體物件的存取安全性

印表機、服務、登錄機碼、DCOM 應用程式和 WMI 命名空間都是安全物件。 安全性實體物件的存取會受到 安全性描述項的保護,其會指定具有存取權的使用者。 從 Windows Vista 開始,許多安全性實體物件都有取得或設定安全性描述元的方法。 使用適當的許可權,您可以讀取或變更安全性實體物件上的安全性描述項。 使用這些方法,您可以控制哪些使用者帳戶或群組可以存取印表機、服務、WMI 命名空間或其他物件。 如需安全性描述元及其在 WMI 中使用的詳細資訊,請參閱 WMI 安全性實體物件的存取

本主題將討論下列各節:

物件和安全性描述元方法

下列清單包含安全性實體物件必須讓您讀取或變更安全描述項的方法:

注意

當呼叫SetSecurityDescriptor方法時未指定新的Security 存取控制 List (SACL) ,則目標安全性實體物件上的安全性描述項 SACL 會設定為Null,讓先前的 SACL 設定不會保存。

 

在安全性描述元格式之間轉換

安全性描述項是複雜的二進位位元組陣列,通常必須在 C++ 中建立和變更。 使用其中一個 Get 方法來取得安全性描述元之後, Win32_SecurityDescriptorHelper 類別會提供方法,將安全性描述元轉換成 安全性描述元定義語言 (SDDL) Win32_SecurityDescriptor 實例。

您可以在Win32_SecurityDescriptor 實例或SDDL 中更輕鬆地操作存取控制清單 (ACL) 。 如需 WMI 中安全性描述項的結構和使用的詳細資訊,請參閱 WMI 安全性描述元物件

在 C++ 或 C# 中,使用轉換函式將二進位安全性描述元轉換成 安全性描述元定義語言, (SDDL) 。 若要修改 C++ 應用程式中的安全性描述項值,請使用 ConvertSecurityDescriptorToStringSecurityDescriptorConvertStringSecurityDescriptorToSecurityDescriptor

安全性問題

建議您謹慎地變更安全性描述元,以免危害物件的安全性。 請注意,存取控制專案的順序 (ACE 在任意存取控制清單中) (DACL) 可能會影響存取安全性。 如需詳細資訊,請參閱 DACL 中的 ACE 順序

WMI 安全性描述元物件

安全性描述項協助程式類別

安全性最佳做法

維護 WMI 安全性

存取控制

WMI 命名空間的存取權