PerformanceCounter Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса PerformanceCounter.
Перегрузки
| Имя | Описание |
|---|---|
| PerformanceCounter() |
Инициализирует новый экземпляр класса, доступный только для чтения, без связывания экземпляра PerformanceCounter с любым системным или пользовательским счетчиком производительности. |
| PerformanceCounter(String, String) |
Инициализирует новый экземпляр класса только для PerformanceCounter чтения и связывает его с указанным системным или пользовательским счетчиком производительности на локальном компьютере. Для этого конструктора требуется, чтобы в категории был один экземпляр. |
| PerformanceCounter(String, String, Boolean) |
Инициализирует новый экземпляр PerformanceCounter класса только для чтения или записи и связывает его с указанным системным или пользовательским счетчиком производительности на локальном компьютере. Для этого конструктора требуется, чтобы категория содержала один экземпляр. |
| PerformanceCounter(String, String, String) |
Инициализирует новый экземпляр класса только для PerformanceCounter чтения и связывает его с указанным системным или пользовательским экземпляром счетчика производительности и экземпляром категории на локальном компьютере. |
| PerformanceCounter(String, String, String, Boolean) |
Инициализирует новый экземпляр PerformanceCounter класса только для чтения или записи и связывает его с указанным системным или пользовательским экземпляром счетчика производительности и категории на локальном компьютере. |
| PerformanceCounter(String, String, String, String) |
Инициализирует новый экземпляр класса только PerformanceCounter для чтения и связывает его с указанным системным или пользовательским экземпляром счетчика производительности и экземпляра категории на указанном компьютере. |
PerformanceCounter()
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
Инициализирует новый экземпляр класса, доступный только для чтения, без связывания экземпляра PerformanceCounter с любым системным или пользовательским счетчиком производительности.
public:
PerformanceCounter();
public PerformanceCounter();
Public Sub New ()
Примеры
В следующем примере кода создается экземпляр PerformanceCounter класса по умолчанию. После создания CategoryNameCounterNameэкземпляра задаются значения свойств и InstanceName значения свойств, а результаты вызова NextValue метода отображаются.
PerformanceCounter performanceCounter = new PerformanceCounter();
performanceCounter.CategoryName = "Process";
performanceCounter.CounterName = "Private Bytes";
performanceCounter.InstanceName = "Explorer";
MessageBox.Show(performanceCounter.NextValue().ToString());
Dim PC As New PerformanceCounter()
PC.CategoryName = "Process"
PC.CounterName = "Private Bytes"
PC.InstanceName = "Explorer"
MessageBox.Show(PC.NextValue().ToString())
Комментарии
Эта перегрузка конструктора задает CategoryNameсвойства и CounterNameInstanceName свойства пустым строкам (""), а свойство — MachineName локальному компьютеру (".).
Этот конструктор не инициализирует счетчик производительности, поэтому он не связывает экземпляр с существующим счетчиком на локальном компьютере. Чтобы указать на определенный счетчик производительности, задайте CategoryNameзначение и CounterName, при необходимости, InstanceName свойства перед MachineName чтением других свойств или попыткой чтения из счетчика. Чтобы записать в счетчик производительности, задайте ReadOnly для свойства значение false.
Замечание
Атрибут, HostProtectionAttribute применяемый к этому элементу, имеет следующее Resources значение свойства: Synchronization | SharedState Это HostProtectionAttribute не влияет на классические приложения (которые обычно запускаются путем двойного щелчка значка, ввода команды или ввода URL-адреса в браузере). Дополнительные сведения см. в HostProtectionAttribute разделе "Класс" или "Атрибуты защиты узлов SQL Server".
Применяется к
PerformanceCounter(String, String)
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
Инициализирует новый экземпляр класса только для PerformanceCounter чтения и связывает его с указанным системным или пользовательским счетчиком производительности на локальном компьютере. Для этого конструктора требуется, чтобы в категории был один экземпляр.
public:
PerformanceCounter(System::String ^ categoryName, System::String ^ counterName);
public PerformanceCounter(string categoryName, string counterName);
new System.Diagnostics.PerformanceCounter : string * string -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String)
Параметры
- categoryName
- String
Имя категории счетчика производительности (объект производительности), с которым связан этот счетчик производительности.
- counterName
- String
Имя счетчика производительности.
Исключения
categoryName — пустая строка ("").
–или–
counterName — пустая строка ("").
–или–
Указанная категория не существует.
–или–
Указанная категория помечается как несколько экземпляров и требует создания счетчика производительности с именем экземпляра.
–или–
categoryName и counterName локализованы на разных языках.
categoryName или counterName есть null.
Ошибка при доступе к системным API.
Код, выполняющийся без прав администратора, пытался прочитать счетчик производительности.
Комментарии
Строки параметров не учитывает регистр.
Используйте эту перегрузку для доступа к счетчику на локальном компьютере, который принадлежит категории, содержащей один экземпляр категории счетчика производительности. Если вы пытаетесь использовать этот конструктор, чтобы указать этот PerformanceCounter экземпляр на категорию, содержащую несколько экземпляров, конструктор создает исключение. Эта перегрузка может получить доступ к любому счетчику только для чтения или чтения или записи, но делает это в режиме только для чтения. PerformanceCounter Экземпляр, созданный с помощью этой перегрузки, не может записывать данные в счетчик, даже если сам счетчик считывается или записывается.
Эта перегрузка конструктора задает CategoryName значения, CounterName которые вы передаете, задает свойство локальному компьютеру, "." и задает MachineNameInstanceName свойству пустую строку ("").
Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системой или пользовательским счетчиком) на локальном компьютере. Значения, которые передаются для CategoryName свойств, CounterName должны указывать на существующий счетчик производительности на локальном компьютере.
Замечание
Чтобы считывать счетчики производительности из сеанса входа в Windows Vista и более поздних версий, Windows XP Professional x64 Edition или Windows Server 2003, необходимо быть членом группы пользователей монитора производительности или иметь права администратора.
Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу "Пользователи монитора производительности".
В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом встроенной группы "Администраторы", вы назначаете два маркера доступа во время выполнения: маркер доступа стандартного пользователя и маркер доступа администратора. По умолчанию вы находитесь в стандартной роли пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от стандартного пользователя к администратору. Это можно сделать при запуске приложения, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите запустить от имени администратора.
Применяется к
PerformanceCounter(String, String, Boolean)
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
Инициализирует новый экземпляр PerformanceCounter класса только для чтения или записи и связывает его с указанным системным или пользовательским счетчиком производительности на локальном компьютере. Для этого конструктора требуется, чтобы категория содержала один экземпляр.
public:
PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, bool readOnly);
public PerformanceCounter(string categoryName, string counterName, bool readOnly);
new System.Diagnostics.PerformanceCounter : string * string * bool -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, readOnly As Boolean)
Параметры
- categoryName
- String
Имя категории счетчика производительности (объект производительности), с которым связан этот счетчик производительности.
- counterName
- String
Имя счетчика производительности.
- readOnly
- Boolean
true для доступа к счетчику в режиме только для чтения (хотя сам счетчик может быть прочитан и записан); false для доступа к счетчику в режиме чтения и записи.
Исключения
Это categoryName пустая строка ("").
–или–
Это counterName пустая строка ("").
–или–
Указанная категория не существует. (если readOnly есть true).
–или–
Указанная категория не является настраиваемой категорией .NET Framework (если readOnly это false).
–или–
Указанная категория помечается как несколько экземпляров и требует создания счетчика производительности с именем экземпляра.
–или–
categoryName и counterName локализованы на разных языках.
categoryName или counterName есть null.
Ошибка при доступе к системным API.
Код, выполняющийся без прав администратора, пытался прочитать счетчик производительности.
Примеры
В следующем примере кода создается экземпляр PerformanceCounter класса. В примере передаются имена категорий, имена счетчиков и значение флага, указывающее, что счетчик не доступен только для чтения. Этот пример кода является частью более крупного примера для PerformanceCounter класса.
avgCounter64Sample = new PerformanceCounter("AverageCounter64SampleCategory",
"AverageCounter64Sample",
false);
avgCounter64Sample = New PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64Sample", False)
Комментарии
Строки параметров не учитывает регистр.
Используйте эту перегрузку для доступа к счетчику только для чтения или чтения или записи на локальном компьютере, который принадлежит к категории, содержащей один экземпляр категории счетчиков производительности. Если вы пытаетесь использовать этот конструктор, чтобы указать этот PerformanceCounter экземпляр на категорию, содержащую несколько экземпляров, конструктор создает исключение.
Эта перегрузка конструктора задает CategoryNameзначения , CounterNameи ReadOnly свойства, которые вы передаете, задает свойство локальному компьютеру, "." и задает MachineNameInstanceName свойство пустой строке ("").
Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системой или пользовательским счетчиком) на локальном компьютере. Значения, которые передаются для CategoryName свойств, CounterName должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, является недопустимым, вызов конструктор создает исключение.
Замечание
Эту перегрузку можно использовать для подключения к системным счетчикам, но вы не можете записывать данные в системный счетчик. Поэтому при readOnlyfalse подключении к системным счетчикам конструктор вызывает исключение.
Замечание
Чтобы считывать счетчики производительности из сеанса входа в Windows Vista и более поздних версий, Windows XP Professional x64 Edition или Windows Server 2003, необходимо быть членом группы пользователей монитора производительности или иметь права администратора.
Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу "Пользователи монитора производительности".
В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом встроенной группы "Администраторы", вы назначаете два маркера доступа во время выполнения: маркер доступа стандартного пользователя и маркер доступа администратора. По умолчанию вы находитесь в стандартной роли пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от стандартного пользователя к администратору. Это можно сделать при запуске приложения, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите запустить от имени администратора.
Применяется к
PerformanceCounter(String, String, String)
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
Инициализирует новый экземпляр класса только для PerformanceCounter чтения и связывает его с указанным системным или пользовательским экземпляром счетчика производительности и экземпляром категории на локальном компьютере.
public:
PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, System::String ^ instanceName);
public PerformanceCounter(string categoryName, string counterName, string instanceName);
new System.Diagnostics.PerformanceCounter : string * string * string -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, instanceName As String)
Параметры
- categoryName
- String
Имя категории счетчика производительности (объект производительности), с которым связан этот счетчик производительности.
- counterName
- String
Имя счетчика производительности.
- instanceName
- String
Имя экземпляра категории счетчика производительности или пустой строки (""), если категория содержит один экземпляр.
Исключения
categoryName — пустая строка ("").
–или–
counterName — пустая строка ("").
–или–
Указанная категория недопустимая.
–или–
Указанная категория помечается как несколько экземпляров и требует создания счетчика производительности с именем экземпляра.
–или–
instanceName длиннее 127 символов.
–или–
categoryName и counterName локализованы на разных языках.
categoryName или counterName есть null.
Ошибка при доступе к системным API.
Код, выполняющийся без прав администратора, пытался прочитать счетчик производительности.
Комментарии
Строки параметров не учитывает регистр.
Эта перегрузка конструктора задает CategoryNameзначения, CounterNameкоторые передаются, и InstanceName свойства, которые вы передаете, и задает MachineName свойство локальному компьютеру , ".".
Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системой или пользовательским счетчиком) на локальном компьютере. Значения, которые передаются для CategoryNameсвойства, CounterNameInstanceName должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктор создает исключение.
Эта перегрузка может получить доступ к любому счетчику только для чтения или чтения или записи, но делает это в режиме только для чтения. PerformanceCounter Экземпляр, созданный с помощью этой перегрузки, не может записывать данные в счетчик, даже если сам счетчик считывается или записывается.
Чтобы создать экземпляр категории производительности, укажите конструктор instanceNamePerformanceCounter . Если экземпляр категории, указанный instanceName уже существует, новый объект будет ссылаться на существующий экземпляр категории.
Замечание
Для чтения счетчиков производительности в Windows Vista, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы пользователей монитора производительности или иметь права администратора.
Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу "Пользователи монитора производительности".
В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом встроенной группы "Администраторы", вы назначаете два маркера доступа во время выполнения: маркер доступа стандартного пользователя и маркер доступа администратора. По умолчанию вы находитесь в стандартной роли пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от стандартного пользователя к администратору. Это можно сделать при запуске приложения, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите запустить от имени администратора.
Применяется к
PerformanceCounter(String, String, String, Boolean)
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
Инициализирует новый экземпляр PerformanceCounter класса только для чтения или записи и связывает его с указанным системным или пользовательским экземпляром счетчика производительности и категории на локальном компьютере.
public:
PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, System::String ^ instanceName, bool readOnly);
public PerformanceCounter(string categoryName, string counterName, string instanceName, bool readOnly);
new System.Diagnostics.PerformanceCounter : string * string * string * bool -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, instanceName As String, readOnly As Boolean)
Параметры
- categoryName
- String
Имя категории счетчика производительности (объект производительности), с которым связан этот счетчик производительности.
- counterName
- String
Имя счетчика производительности.
- instanceName
- String
Имя экземпляра категории счетчика производительности или пустой строки (""), если категория содержит один экземпляр.
- readOnly
- Boolean
true для доступа к счетчику в режиме только для чтения; false для доступа к счетчику в режиме чтения и записи.
Исключения
categoryName — пустая строка ("").
–или–
counterName — пустая строка ("").
–или–
Запрошенный параметр разрешения на чтение и запись недопустим для этого счетчика.
–или–
Указанная категория не существует (если readOnly имеется true).
–или–
Указанная категория не является настраиваемой категорией .NET Framework (если readOnly это false).
–или–
Указанная категория помечается как несколько экземпляров и требует создания счетчика производительности с именем экземпляра.
–или–
instanceName длиннее 127 символов.
–или–
categoryName и counterName локализованы на разных языках.
categoryName или counterName есть null.
Ошибка при доступе к системным API.
Код, выполняющийся без прав администратора, пытался прочитать счетчик производительности.
Комментарии
Строки параметров не учитывает регистр.
Используйте эту перегрузку для доступа к счетчику производительности в режиме только для чтения или записи.
Эта перегрузка конструктора задает CategoryNameCounterNameзначения, которые вы передаете, и InstanceName свойства, которые вы передаете, и задает MachineName свойство локальному компьютеру , ".".
Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системой или пользовательским счетчиком) на локальном компьютере. Значения, которые передаются для CategoryNameсвойства, CounterNameInstanceName должны указывать на существующий счетчик производительности на локальном компьютере. Если экземпляр счетчика производительности, на который вы указываете, является недопустимым, вызов конструктор создает исключение.
Замечание
Эту перегрузку можно использовать для подключения к системным счетчикам, но вы не можете записывать данные в системный счетчик. Поэтому при readOnlyfalse подключении к системным счетчикам конструктор вызывает исключение.
Чтобы создать экземпляр категории производительности, укажите конструктор instanceNamePerformanceCounter . Если экземпляр категории, указанный instanceName уже существует, новый объект будет ссылаться на существующий экземпляр категории.
Замечание
Для чтения счетчиков производительности в Windows Vista, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы пользователей монитора производительности или иметь права администратора.
Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу "Пользователи монитора производительности".
В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом встроенной группы "Администраторы", вы назначаете два маркера доступа во время выполнения: маркер доступа стандартного пользователя и маркер доступа администратора. По умолчанию вы находитесь в стандартной роли пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от стандартного пользователя к администратору. Это можно сделать при запуске приложения, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите запустить от имени администратора.
Применяется к
PerformanceCounter(String, String, String, String)
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
- Исходный код:
- PerformanceCounter.cs
Инициализирует новый экземпляр класса только PerformanceCounter для чтения и связывает его с указанным системным или пользовательским экземпляром счетчика производительности и экземпляра категории на указанном компьютере.
public:
PerformanceCounter(System::String ^ categoryName, System::String ^ counterName, System::String ^ instanceName, System::String ^ machineName);
public PerformanceCounter(string categoryName, string counterName, string instanceName, string machineName);
new System.Diagnostics.PerformanceCounter : string * string * string * string -> System.Diagnostics.PerformanceCounter
Public Sub New (categoryName As String, counterName As String, instanceName As String, machineName As String)
Параметры
- categoryName
- String
Имя категории счетчика производительности (объект производительности), с которым связан этот счетчик производительности.
- counterName
- String
Имя счетчика производительности.
- instanceName
- String
Имя экземпляра категории счетчика производительности или пустой строки (""), если категория содержит один экземпляр.
- machineName
- String
Компьютер, на котором существует счетчик производительности и связанная с ней категория.
Исключения
categoryName — пустая строка ("").
–или–
counterName — пустая строка ("").
–или–
Запрошенный параметр разрешения на чтение и запись недопустим для этого счетчика.
–или–
Счетчик не существует на указанном компьютере.
–или–
Указанная категория помечается как несколько экземпляров и требует создания счетчика производительности с именем экземпляра.
–или–
instanceName длиннее 127 символов.
–или–
categoryName и counterName локализованы на разных языках.
Недопустимый machineName параметр.
categoryName или counterName есть null.
Ошибка при доступе к системным API.
Код, выполняющийся без прав администратора, пытался прочитать счетчик производительности.
Комментарии
Строки параметров не учитывает регистр.
Эта перегрузка конструктора задает CategoryNameзначения , CounterNameInstanceNameи MachineName свойства, которые вы передаете.
Этот конструктор инициализирует счетчик производительности и связывает экземпляр с существующим счетчиком (системой или пользовательским счетчиком) на указанном компьютере. Значения, которые передаются для CategoryNameсвойства, CounterNameInstanceNameMachineName должны указывать на существующий счетчик производительности. Если экземпляр счетчика производительности, на который вы указываете, недопустим, вызов конструктор создает исключение. Эта перегрузка может получить доступ к любому счетчику только для чтения или чтения или записи, но делает это в режиме только для чтения. PerformanceCounter Экземпляр, созданный с помощью этой перегрузки, не может записывать данные в счетчик, даже если сам счетчик считывается или записывается.
Замечание
Вы не можете записывать данные в удаленные счетчики производительности. Нет перегрузки PerformanceCounter , которая позволяет указать экземпляр класса чтения и записи, который подключается к удаленному компьютеру.
Чтобы создать экземпляр категории производительности, укажите конструктор instanceNamePerformanceCounter . Если экземпляр категории, указанный instanceName уже существует, новый объект будет ссылаться на существующий экземпляр категории.
Замечание
Для чтения счетчиков производительности в Windows Vista, Windows XP Professional x64 Edition или Windows Server 2003 необходимо быть членом группы пользователей монитора производительности или иметь права администратора.
Чтобы избежать повышения привилегий для доступа к счетчикам производительности в Windows Vista, добавьте себя в группу "Пользователи монитора производительности".
В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Если вы являетесь членом встроенной группы "Администраторы", вы назначаете два маркера доступа во время выполнения: маркер доступа стандартного пользователя и маркер доступа администратора. По умолчанию вы находитесь в стандартной роли пользователя. Чтобы выполнить код, который обращается к счетчикам производительности, необходимо сначала повысить привилегии от стандартного пользователя к администратору. Это можно сделать при запуске приложения, щелкнув правой кнопкой мыши значок приложения и указав, что вы хотите запустить от имени администратора.
Замечание
В Windows Vista, когда удаленный компьютер входит в рабочую группу, может потребоваться отключить UAC, чтобы учетная запись локального пользователя не фильтровалась и может быть повышена до учетной записи администратора. По соображениям безопасности отключение UAC должно быть последним средством. Сведения об отключении UAC см. в разделе "Контроль учетных записей пользователей" и "WMI".