首页 > 解决方案 > 如何在不指定参数的情况下使用 invoke-wmimethod?

问题描述

我正在尝试创建一个 PowerShell 命令来编辑共享文件夹的一些信息。有 3 个参数 access、description 和 max users 但我只想更改 description 和 max users。

我需要此代码才能在 Windows 2008 和更多当前版本上工作。

这些命令用于更改共享文件夹的参数:

$c = Get-WmiObject -Namespace "root\cimv2" -Query "SELECT * FROM Win32_Share WHERE Name=`'ADMIN`$`'";

Invoke-WmiMethod -InputObject $c -Name SetShareInfo -ArgumentList @($null,"Remote Admin","5")

但在这个过程中我相信它会删除访问参数。

有谁知道编辑共享文件夹参数的简单方法。

标签: powershellwmi

解决方案


我会以这种方式使用该方法。您可以仔细检查参数的顺序。

$a = get-wmiobject win32_share | where name -eq admin$
$a.setshareinfo

OverloadDefinitions
-------------------
System.Management.ManagementBaseObject SetShareInfo(System.UInt32 MaximumAllowed,System.String Description, System.Management.ManagementObject#Win32_SecurityDescriptor Access)

$a.setshareinfo($null,'Remote Admin','5')

推荐阅读