Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При обнаружении данных системного ресурса для клиента в Configuration Manager необходимо указать уникальное значение идентификатора клиента в записи обнаружения данных (DDR), например:
DDRAddString("SMS Unique Identifier",
"GUID:12345678-1234-1234-1234-123456789012", 64,
ADDPROP_GUID | ADDPROP_KEY);
Уникальный идентификатор клиента можно найти в разделе Инструментарий управления Windows (WMI) по адресу:
root\ccm:CCM_Client=@:ClientId
Procedures
Определение уникального идентификатора клиента в WMI
Подключитесь к пространству имен CCM (root\ccm).
CCM_Client
Загрузите класс .Перечисление объектов в
CCM_Client
классе и отображение уникального идентификатора (ClientId).
Пример
Описание
В следующем примере метода показано, как получить уникальный идентификатор клиента из WMI путем подключения к пространству имен CCM, загрузки CCM_Client
класса и получения свойства ClientId.
Важно!
В следующем примере C# требуется пространство имен System.Management.
Сведения о вызове примера кода см. в статье Вызов метода класса объектов Configuration Manager с помощью WMI.
Код
Sub GetClientUniqueID()
' Get a connection to the root\ccm namespace on the local system.
Set objWMIService = GetObject("winmgmts:\\.\root\ccm")
' Get all objects in the CCM_Client class.
set allCCMClientObjects = objWMIService.ExecQuery("Select * from CCM_Client")
' Loop through the available objects (only one) and display ClientId value.
For Each eachCCMClientObject in allCCMClientObjects
wscript.echo "ClientId (GUID): " & eachCCMClientObject.ClientId
Next
End Sub
public void GetClientUniqueID()
{
try
{
// Define the scope (namespace) to connect to.
ManagementScope inventoryAgentScope = new ManagementScope(@"root\ccm");
// Load the class to work with (CCM_Client).
ManagementClass inventoryClass = new ManagementClass(inventoryAgentScope.Path.Path, "CCM_Client", null);
// Query the class for the objects (create query, create searcher object, execute query).
ObjectQuery query = new ObjectQuery("SELECT * FROM CCM_Client");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(inventoryAgentScope, query);
ManagementObjectCollection queryResults = searcher.Get();
// Loop through the available objects (only one) and display the ClientId value.
foreach (ManagementObject result in queryResults)
{
Console.WriteLine("ClientId (GUID): " + result["ClientId"]);
}
}
catch (System.Management.ManagementException ex)
{
Console.WriteLine("Failed to get client ID (GUID). Error: " + ex.Message);
throw;
}
}
Comments
Компиляция программы
Для этого примера на C# требуется следующее:
Пространства имен
System.Management
Надежное программирование
Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.
Безопасность
Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.