gpt4 book ai didi

powershell - 如何使用Invoke-WmiMethod重命名计算机

转载 作者:行者123 更新时间:2023-12-03 01:23:52 29 4
gpt4 key购买 nike

我正在尝试使用Invoke-WMI方法在Win32_ComputerSytem类上调用Rename方法。使用此语法可以正常工作

(gwmi win32_ComputerSystem).Rename("NEWNAME")

这也可以用于演示
Invoke-WmiMethod -path win32_process -Name create -ArgumentList notepad

但是,当我尝试以下操作时,出现错误
11 >  Invoke-WmiMethod -path win32_computersystem -Name Rename -ArgumentList IwasRenamed
Invoke-WmiMethod : Invalid method Parameter(s)
At line:1 char:17
+ Invoke-WmiMethod <<<< -path win32_computersystem -Name Rename -ArgumentList IwasRenamed
+ CategoryInfo : InvalidOperation: (:) [Invoke-WmiMethod], ManagementExcepti
on
+ FullyQualifiedErrorId : InvokeWMIManagementException,Microsoft.PowerShell.Commands.
InvokeWmiMethod

我想念什么?

最佳答案

您需要使用Path参数指定Win32_ComputerSystem类的实例:

PS C:\Users\ben> $path = "Win32_ComputerSystem.Name='OLDNAME'"
PS C:\Users\ben> Invoke-WmiMethod -Name Rename -Path $path -ArgumentList "NEWNAME"

__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0

在功能上等效于您所引用的gwmi Rename语法。此语法隐式检索Win32_ComputerSystem类的实例,以在以下位置调用该方法:
PS C:\Users\ben> (gwmi win32_computersystem).rename("NEWNAME")

__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0

这是另一个很酷的语法:
PS C:\Users\ben> ([wmi]"Win32_ComputerSystem.Name='OLDNAME'").Rename("NEWNAME")

__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0

关于powershell - 如何使用Invoke-WmiMethod重命名计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3112968/

29 4 0
文章推荐: Javascript angularjs