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

CimClassComputerSet

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

CimClassSessionSet

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

说明

New-CimInstance cmdlet 基于本地计算机或远程计算机上的类定义创建 CIM 类的实例。

使用 Property 参数设置所选属性的初始值。

默认情况下,New-CimInstance cmdlet 在本地计算机上创建实例。

示例

示例 1:创建 CIM 类的实例

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

此命令在计算机上的 root/cimv2 命名空间中创建名为win32_environment的 CIM 类的实例。

如果类不存在、属性错误或服务器拒绝调用,则不执行客户端验证。

如果已成功创建实例,则 New-CimInstance cmdlet 输出新创建的实例。

示例 2:使用类架构创建 CIM 类的实例

$class = Get-CimClass -ClassName Win32_Environment



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

此命令集检索 CIM 类对象,并使用 Get-CimClass cmdlet 将其存储在名为$class的变量中。 然后,变量的内容将传递给 New-CimInstance cmdlet。

示例 3:在客户端上创建动态实例

$a = New-CimInstance -ClassName Win32_Process -Property @{Handle=0} -Key Handle -ClientOnly


Get-CimInstance -CimInstance $a


Invoke-CimMethod -CimInstance $a -MethodName GetOwner

此命令集在客户端计算机上创建名为 win32_Process 的 CIM 类的动态实例,而无需从服务器获取实例。 这组命令检索动态实例并将其存储在名为$a的变量中,并将变量的内容传递给 Get-CimInstance cmdlet。 然后,Get-CimInstance cmdlet 检索特定的单个实例,并使用 Invoke-CimMethod cmdlet 调用 GetOwner 方法。

如果服务器上存在具有此密钥的实例,则可以使用此动态实例执行操作。

示例 4:为特定命名空间的 CIM 类创建实例

$class = Get-CimClass -ClassName MSFT_Something -Namespace root/somewhere



New-CimInstance -CimClass $class -Property @{"Prop1"=1;"Prop2"="value"} -ClientOnly

此命令集获取命名空间根/某个位置中名为MSFT_Something的 CIM 类的实例,并使用 Get-CimClass cmdlet 将其存储在名为$class的变量中。 然后将变量的内容传递给 New-CimInstance cmdlet,以创建新的 CIM 实例,并在新实例上执行客户端验证。

例如,如果要验证实例,若要确保 Prop1 和 Prop2 实际存在并且键已正确标记,请使用 CimClass 参数而不是 ClassName 参数。

不能将 ComputerName 或 CimSession 参数与 ClientOnly 参数一起使用。

参数

-CimClass

指定表示实例类型的 CIM 类对象。

可以使用 Get-CimClass cmdlet 从计算机中检索类声明。

使用此参数可提供更好的客户端架构验证。

参数属性

类型:CimClass
默认值:None
支持通配符:False
不显示:False

参数集

CimClassSessionSet
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False
CimClassComputerSet
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-CimSession

使用指定的 CIM 会话运行命令。 输入包含 CIM 会话的变量,或创建或获取 CIM 会话的命令,例如 New-CimSession 或 Get-CimSession cmdlet。 有关详细信息,请参阅 about_CimSessions

参数属性

类型:

CimSession[]

默认值:None
支持通配符:False
不显示: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
默认值:None
支持通配符:False
不显示:False

参数集

ClassNameComputerSet
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
ClassNameSessionSet
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ClientOnly

指示仅在 PowerShell 中创建实例而不转到 CIM 服务器。 可以使用此参数创建内存中 CIM 实例,以便在后续 PowerShell 操作中使用。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:本地

参数集

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 地址。

如果指定此参数,cmdlet 将使用 Ws-Man 协议创建到指定计算机的临时会话。

如果未指定此参数,cmdlet 将使用组件对象模型(COM)在本地计算机上执行该操作。

如果在同一台计算机上执行了多个操作,则使用 CIM 会话进行连接可提供更好的性能。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False
别名:中国区, 服务器名称

参数集

ClassNameComputerSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
ResourceUriComputerSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
CimClassComputerSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Key

指定用作键的属性。 指定密钥时,不能使用 CimSession 和 ComputerName。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示: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

指定新实例的类的命名空间。

默认命名空间为 root/cimv2。 注意:可以使用选项卡完成浏览命名空间列表,因为 PowerShell 从本地 WMI 服务器获取命名空间列表以提供命名空间列表。

参数属性

类型:String
默认值:None
支持通配符:False
不显示: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

指定 cmdlet 等待来自 CIM 服务器的响应的时间量。

默认情况下,此参数的值为 0,这意味着 cmdlet 使用服务器的默认超时值。

如果将 OperationTimeoutSec 参数设置为小于可靠连接重试超时 3 分钟的值,则无法恢复持续超过 OperationTimeoutSec 参数值的网络故障,因为服务器上的操作在客户端重新连接之前超时。

参数属性

类型:UInt32
默认值:None
支持通配符:False
不显示:False
别名:OT

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Property

使用哈希表指定 CIM 实例的属性(名称值对)。

如果指定 CimClass 参数,则 New-CimInstance cmdlet 对客户端执行属性验证,以确保指定的属性与服务器上的类声明一致。 如果未指定 CimClass 参数,则属性验证在服务器上完成。

参数属性

类型:IDictionary
默认值:None
支持通配符:False
不显示:False
别名:论据

参数集

(All)
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值: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

默认情况下,如果未指定此参数,则使用 DMTF 标准资源 URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/,并将类名称追加到其中。

ResourceURI 只能与使用 WSMan 协议创建的 CIM 会话一起使用,或者指定使用 WSMan 创建 CIM 会话的 ComputerName 参数时。 如果在未指定 ComputerName 参数的情况下指定此参数,或者指定使用 DCOM 协议创建的 CIM 会话,则会收到错误,因为 DCOM 协议不支持 ResourceURI 参数。

如果同时指定了 ResourceUri 参数和 Filter 参数,则忽略 Filter 参数。

参数属性

类型:Uri
默认值:None
支持通配符:False
不显示:False

参数集

ResourceUriSessionSet
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
ResourceUriComputerSet
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

None

此 cmdlet 不接受任何输入对象。

输出

Object

此 cmdlet 返回包含 CIM 实例信息的对象。