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. 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, экземпляр которого создает операция. ПРИМЕЧАНИЕ. Вы можете использовать завершение нажатия клавиши TAB для просмотра списка классов, так как 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. Для просмотра списка пространств имен можно использовать завершение нажатия клавиши TAB, так как 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 состоит из префикса и пути к ресурсу. Пример:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
По умолчанию, если этот параметр не указан, используется стандартный универсальный код ресурса 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
Вы не можете передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект , содержащий сведения об экземпляре CIM.
Примечания
PowerShell включает следующие псевдонимы для New-CimInstance
:
- Windows:
ncim
Этот командлет доступен только на платформах Windows.