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


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 на компьютере.

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

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

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

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

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

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

В этом примере создается динамический экземпляр класса 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. Создание экземпляра для класса 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

По умолчанию, если этот параметр не указан, используется стандартный 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 игнорируется.

Тип:Uri
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

None

Невозможно передать объекты в этот командлет.

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

CimInstance

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

Примечания

PowerShell включает следующие псевдонимы для New-CimInstance:

  • Windows:
    • ncim

Этот командлет доступен только на платформах Windows.