如何从Get-WmiObject更新SystemName或更新数据表

时间:2011-09-28 00:07:56

标签: powershell

我需要从Get-WmiObject中覆盖SystemName:

Function Get-VolumeSpace ([string]$ServerName="localhost") {
$wql="Select SystemName, Name, Capacity, FreeSpace From Win32_Volume Where (DriveType=2 or DriveType=3) and name like '[a-z]%'"
$volSpace=Get-WmiObject -ComputerName $ServerName -Query $wql 
$volSpace | Select SystemName, Name, Capacity, FreeSpace}

在SQL群集上,SystemName包含物理节点名称,而不是我传入Get-VolumeSpace的虚拟名称。我需要它是我传入的名称而不是实际的物理节点名称。

如果我可以从我的Get-VolumeSpace函数中覆盖SystemName,那就不错了。或者,我可以更新数据表。所以我使用我在网上找到的Out-DataTable函数将输出放入数据表中:

$dataTable = Get-VolumeSpace $ServerName | Out-DataTable

有人可以帮我在Get-VolumeSpace中使用$ ServerName覆盖SystemName还是帮我将每行中的第一列更新为$ dataTable中的$ ServerName?

1 个答案:

答案 0 :(得分:0)

如果我理解你的要求,以下内容应该有效:

$volSpace | Select @{expression ={$ServerName};label="SystemName"}, Name, Capacity, FreeSpace