New-CimInstance
Создает экземпляр CIM.
Синтаксис
New-CimInstance
[-ClassName] <String>
[-Key <String[]>]
[[-Property] <IDictionary>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String[]>]
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CimInstance
[-ClassName] <String>
[-Key <String[]>]
[[-Property] <IDictionary>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession[]>
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CimInstance
-ResourceUri <Uri>
[-Key <String[]>]
[[-Property] <IDictionary>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CimInstance
-ResourceUri <Uri>
[-Key <String[]>]
[[-Property] <IDictionary>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CimInstance
[-CimClass] <CimClass>
[[-Property] <IDictionary>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession[]>
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CimInstance
[-CimClass] <CimClass>
[[-Property] <IDictionary>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String[]>]
[-ClientOnly]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет New-CimInstance
создает экземпляр класса CIM на основе определения класса на локальном компьютере или удаленном компьютере. По умолчанию командлет New-CimInstance
создает экземпляр на локальном компьютере.
Примеры
Пример 1. Создание экземпляра класса CIM
В этом примере создается экземпляр класса CIM с именем win32_environment в пространстве имен root/cimv2 на компьютере.
$prop = @{
Name = "testvar"
VariableValue = "testvalue"
UserName = "domain\user"
}
New-CimInstance -ClassName Win32_Environment -Property $prop
Проверка на стороне клиента не выполняется, если класс не существует, свойства неправы или если сервер отклоняет вызов. Если экземпляр создан успешно, командлет выводит только что созданный экземпляр.
Пример 2. Создание экземпляра класса CIM с помощью схемы класса
В этом примере извлекается объект класса CIM и сохраняется в переменной с именем $class
. Затем содержимое переменной передается командлету New-CimInstance
.
$class = Get-CimClass -ClassName Win32_Environment
$prop = @{
Name = "testvar"
VariableValue = "testvalue"
UserName = "Contoso\User1"
}
New-CimInstance -CimClass $class -Property $prop
Пример 3. Создание динамического экземпляра на клиенте
В этом примере создается динамический экземпляр класса CIM с именем Win32_Process на клиентском компьютере без получения экземпляра с сервера. Новый экземпляр хранится в переменной $a
. Этот динамический экземпляр можно использовать для выполнения операций, если экземпляр с этим ключом существует на сервере.
$instance = @{
ClassName = 'Win32_Process'
Property = @{
Handle = 0
}
Key = 'Handle'
ClientOnly = $true
}
$a = New-CimInstance @instance
Get-CimInstance -CimInstance $a
Invoke-CimMethod -CimInstance $a -MethodName GetOwner
ProcessId Name HandleCount WorkingSetSize VirtualSize
--------- ---- ----------- -------------- -----------
0 System Idle Process 0 8192 8192
Domain :
ReturnValue : 2
User :
PSComputerName :
Затем командлет Get-CimInstance
извлекает конкретный отдельный экземпляр. Командлет Invoke-CimMethod
вызывает метод GetOwner в извлеченном экземпляре.
Пример 4. Создание экземпляра для класса CIM определенного пространства имен
В этом примере экземпляр класса CIM с именем MSFT_Something в пространстве имен корневом или где-то и сохраняет его в переменной с именем $class
. Переменная передается командлету New-CimInstance
для создания нового экземпляра CIM и выполнения проверки на стороне клиента в новом экземпляре.
$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere
New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly
В этом примере с помощью параметра CimClass вместо параметра ClassName проверяется, что Prop1 и Prop2 фактически существуют и что ключи помечены правильно.
Нельзя использовать параметр ComputerName или CimSession с параметром ClientOnly.
Параметры
-CimClass
Указывает объект класса CIM, представляющий тип экземпляра. Используйте командлет Get-CimClass
для получения объявления класса с компьютера. Использование этого параметра приводит к улучшению проверки схемы на стороне клиента.
Тип: | CimClass |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-CimSession
Выполняет команду с помощью указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например командлеты New-CimSession
или Get-CimSession
. Дополнительные сведения см. в разделе about_CimSession.
Тип: | CimSession[] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ClassName
Указывает имя класса CIM, из которого операция создает экземпляр. ПРИМЕЧАНИЕ. Вы можете использовать завершение вкладки для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ClientOnly
Указывает, что экземпляр создается только в PowerShell, не перейдя на сервер CIM. Этот параметр можно использовать для создания экземпляра CIM в памяти для использования в последующих операциях PowerShell.
Тип: | SwitchParameter |
Aliases: | Local |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ComputerName
Указывает имя компьютера, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN), имя NetBIOS или IP-адрес.
При указании этого параметра командлет создает временный сеанс для указанного компьютера с помощью протокола WSMan.
Если этот параметр не указан, командлет выполняет операцию на локальном компьютере с помощью объектной модели компонента (COM).
Если на одном компьютере выполняются несколько операций, подключение с помощью сеанса CIM обеспечивает более высокую производительность.
Тип: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Key
Указывает свойства, используемые в качестве ключей. CimSession и ComputerName нельзя использовать при указании ключа.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Namespace
Задает пространство имен класса для нового экземпляра. Пространство имен по умолчанию — root/cimv2. Вы можете использовать завершение вкладки для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-OperationTimeoutSec
Указывает время ожидания командлетом ответа от сервера CIM. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера. Если параметр OperationTimeoutSec имеет значение меньше времени ожидания надежно го повтора подключения в течение 3 минут, сетевые сбои, которые длились больше, чем значение параметра OperationTimeoutSec, невозможно восстановить, так как операция на сервере истекает до повторного подключения клиента.
Тип: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Property
Указывает свойства экземпляра CIM с помощью хэш-таблицы (пар "имя-значение").
Если указать параметр CimClass, командлет New-CimInstance
выполняет проверку свойств на клиенте, чтобы убедиться, что указанные свойства соответствуют объявлению класса на сервере. Если параметр CimClass не указан, проверка свойств выполняется на сервере.
Тип: | IDictionary |
Aliases: | Arguments |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ResourceUri
Указывает универсальный идентификатор ресурса (URI) класса ресурса или экземпляра. Универсальный код ресурса (URI) используется для определения определенного типа ресурса, например дисков или процессов на компьютере.
URI состоит из префикса и пути к ресурсу. Например:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
По умолчанию, если этот параметр не указан, используется стандартный универсальный код ресурса DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
, а имя класса добавляется к нему.
ResourceURI можно использовать только с сеансами CIM, созданными с помощью протокола WSMan, или при указании параметра ComputerName, который создает сеанс CIM с помощью WSMan. Если этот параметр указан без указания параметра ComputerName или при указании сеанса CIM, созданного с помощью протокола DCOM, возникает ошибка, так как протокол DCOM не поддерживает параметр ResourceURI.
Если задан параметр ResourceUri и параметр фильтра, параметр фильтра игнорируется.
Тип: | Uri |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект, содержащий сведения об экземпляре CIM.
Примечания
PowerShell включает следующие псевдонимы для New-CimInstance
:
- Виндоус:
ncim
Этот командлет доступен только на платформах Windows.
Связанные ссылки
PowerShell