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


New-CimInstance

Создает экземпляр CIM.

Синтаксис

ClassNameComputerSet (По умолчанию)

New-CimInstance
    [-ClassName] <String>
    [[-Property] <IDictionary>]
    [-Key <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String[]>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ClassNameSessionSet

New-CimInstance
    [-ClassName] <String>
    [[-Property] <IDictionary>]
    -CimSession <CimSession[]>
    [-Key <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriSessionSet

New-CimInstance
    [[-Property] <IDictionary>]
    -ResourceUri <Uri>
    -CimSession <CimSession[]>
    [-Key <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriComputerSet

New-CimInstance
    [[-Property] <IDictionary>]
    -ResourceUri <Uri>
    [-Key <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassSessionSet

New-CimInstance
    [-CimClass] <CimClass>
    [[-Property] <IDictionary>]
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-ClientOnly]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassComputerSet

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 в пространстве имен root/somewhere и сохраняется в переменной с именем $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
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

CimClassSessionSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimClassComputerSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CimSession

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

Свойства параметров

Тип:

CimSession[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimClassSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ClassName

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-ClientOnly

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

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Локальный

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimClassSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimClassComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ComputerName

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

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

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

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

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Китай, Имя сервера

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimClassComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Key

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

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Namespace

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-OperationTimeoutSec

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

Свойства параметров

Тип:UInt32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:OT

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Property

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

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

Свойства параметров

Тип:IDictionary
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Аргументы

Наборы параметров

(All)
Position:1
Обязательно:False
Значение из конвейера: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
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ResourceUriSessionSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

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

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

CimInstance

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

Примечания

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

  • Виндоус:
    • ncim

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