Поделиться через


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>]

Описание

Командлет New-CimInstance создает экземпляр класса CIM на основе определения класса на локальном или удаленном компьютере. По умолчанию New-CimInstance командлет создает экземпляр на локальном компьютере.

Примеры

Пример 1. Create экземпляра класса CIM

В этом примере создается экземпляр класса CIM с именем win32_environment в пространстве имен root/cimv2 на компьютере.

New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";VariableValue="testvalue";UserName="domain\user"}

Проверка на стороне клиента не выполняется, если класс не существует, свойства неверны или сервер отклоняет вызов. Если экземпляр успешно создан, командлет выводит только что созданный экземпляр.

Пример 2. Create экземпляра класса CIM с помощью схемы класса

В этом примере извлекается объект класса CIM и сохраняется в переменной с именем $class. Затем содержимое переменной передается командлету New-CimInstance .

$class = Get-CimClass -ClassName Win32_Environment
New-CimInstance -CimClass $class -Property @{Name="testvar";VariableValue="testvalue";UserName="Contoso\User1"}

Пример 3. Create динамического экземпляра на клиенте

В этом примере создается динамический экземпляр класса CIM с именем Win32_Process на клиентском компьютере без получения экземпляра с сервера. Новый экземпляр хранится в переменной $a. Этот динамический экземпляр можно использовать для выполнения операций, если экземпляр с этим ключом существует на сервере.

$a = New-CimInstance -ClassName Win32_Process -Property @{Handle=0} -Key Handle -ClientOnly
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. Create экземпляра для класса 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 Используйте командлет , чтобы получить объявление класса с компьютера. Использование этого параметра позволяет улучшить проверку схемы на стороне клиента.

Type:CimClass
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CimSession

Выполняет команду с использованием указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например New-CimSession командлеты или Get-CimSession . Дополнительные сведения см. в разделе about_CimSession.

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ClassName

Указывает имя класса CIM, экземпляр которого создает операция. ПРИМЕЧАНИЕ. Вы можете использовать завершение табуляции для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ClientOnly

Указывает, что экземпляр создается только в PowerShell без доступа к серверу CIM. Этот параметр можно использовать для создания экземпляра CIM в памяти для использования в последующих операциях PowerShell.

Type:SwitchParameter
Aliases:Local
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Указывает имя компьютера, на котором требуется выполнить операцию CIM. Вы можете указать полное доменное имя (FQDN), NetBIOS-имя или IP-адрес.

Если указать этот параметр, командлет создает временный сеанс для указанного компьютера по протоколу WSMan.

Если этот параметр не указан, командлет выполняет операцию на локальном компьютере с помощью компонентной объектной модели (COM).

Если на одном компьютере выполняется несколько операций, подключение с помощью сеанса CIM обеспечивает более высокую производительность.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Key

Указывает свойства, используемые в качестве ключей. CimSession и ComputerName нельзя использовать, если указан ключ .

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Namespace

Задает пространство имен класса для нового экземпляра. Пространство имен по умолчанию — root/cimv2. Вы можете использовать завершение табуляции для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OperationTimeoutSec

Указывает время, в течение которого командлет ожидает ответа от сервера CIM. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера. Если для параметра OperationTimeoutSec задано значение меньше, чем время ожидания повторной попытки надежного подключения в 3 минуты, то сбои сети, которые длятся больше, чем значение параметра OperationTimeoutSec , невозможно восстановить, так как время ожидания операции на сервере истекает, прежде чем клиент сможет повторно подключиться.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Задает свойства экземпляра CIM с помощью хэш-таблицы (пар "имя-значение").

Если указать параметр CimClass , New-CimInstance командлет выполняет проверку свойства на клиенте, чтобы убедиться, что указанные свойства соответствуют объявлению класса на сервере. Если параметр CimClass не указан, проверка свойства выполняется на сервере.

Type:IDictionary
Aliases:Arguments
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceUri

Указывает универсальный код ресурса (URI) класса ресурса или экземпляра ресурса. URI используется для идентификации определенного типа ресурсов, например дисков и процессов на компьютере.

URI состоит из префикса и пути к ресурсу. Пример:

https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

По умолчанию, если этот параметр не указан, используется стандартный URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ ресурса DMTF и к нему добавляется имя класса.

ResourceURI можно использовать только с сеансами CIM, созданными по протоколу WSMan, или при указании параметра ComputerName , который создает сеанс CIM с помощью WSMan. Если указать этот параметр без параметра ComputerName или указать сеанс CIM, созданный по протоколу DCOM, вы получите ошибку, так как протокол DCOM не поддерживает параметр ResourceURI .

Если указаны параметры ResourceUri и Filter , параметр Filter игнорируется.

Type:Uri
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

None

Этот командлет не принимает входные объекты.

Выходные данные

Object

Этот командлет возвращает объект , содержащий сведения об экземпляре CIM.