如何使用 Invoke-WmiMethod 重命名计算机
我正在尝试使用 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
我缺少什么?
I am trying to call the Rename method on the Win32_ComputerSytem class using Invoke-WMI method. Using this syntax works fine
(gwmi win32_ComputerSystem).Rename("NEWNAME")
This also works fine for demo purposes
Invoke-WmiMethod -path win32_process -Name create -ArgumentList notepad
However, when i try the following, I get an error
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
What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用 Path 参数指定 Win32_ComputerSystem 类的实例:
这在功能上等同于您提到的 gwmi Rename 语法。此语法隐式检索 Win32_ComputerSystem 类的实例以调用该方法:
这是另一个很酷的语法:
You need to specify an instance of the class Win32_ComputerSystem using the Path parameter:
Which is functionally equivalent to the gwmi Rename syntax that you referred to. This syntax implicitly retrieves an instance of the class Win32_ComputerSystem to call the method on:
Here's another cool syntax:
Rename
方法采用三个参数。我猜测Invoke-WmiMethod
使用反射来调用该方法,因此您必须指定所有三个参数。试试这个:The
Rename
method takes three parameters. I'm guessingInvoke-WmiMethod
uses reflection to call the method, so you have to specify all three parameters. Try this: