У меня есть скрипт, который имеет объявление $ output = @ ()
&, в который добавляется набор свойств, здесь есть выход для того же, я добавляю их, используя $ output | Add-Member -MemberType Noteproperty -Name "hostname" -Value "$ hostname", также как и для других свойств. я делаю $ output + = $ output, чтобы добавить добавленные значения,
имя хоста: SEAPS01
дата: 14.06.2011 02:06:36
Установленные приложения: клиентские инструменты Microsoft SQL Server 2008
но теперь проблема в том, что когда я добавляю к этому информацию о жестком диске, он перезаписывается и я получаю сообщение об ошибке, так как свойство заметки уже существует, не могли бы вы помочь мне с тем, как перейти и добавить свойства жесткого диска в $ output object
$ colItems = get-wmiobject -class "Win32_LogicalDisk" -pacespace "root \ CIMV2" -computername $ compname
$drivecount=(get-wmiobject -class "Win32_LogicalDisk" -namespace "root\CIMV2" | Select-Object drivetype | Measure-Object).count
foreach ($objItem in $colItems){
for($j=0;$j-lt$drivecount;$j++){
if ($objItem.DriveType -eq 3){
# Write to screen
#write-host "Drive Type: " $objItem.DriveType
$drivename=$objItem.Name
# Improve the display of the higher order values of MB and GB
$displayMB = [math]::round($objItem.Size/1024/1024, 2)
$displayGB = [math]::round($objItem.Size/1024/1024/1024, 2)
$strOutPut57 = $displayGB
# Improve the display of the higher order values of MB and GB
$displayMB = [math]::round($objItem.FreeSpace/1024/1024, 2)
$displayGB = [math]::round($objItem.FreeSpace/1024/1024/1024, 2)
$strOutPut58 = $objItem.Name +"\ "+ $displayGB
$strOutPut59 = $objItem.FileSystem
$output | Add-Member -MemberType Noteproperty -Name DriveName[$j] -Value "$drivename"
$output | Add-Member -MemberType Noteproperty -Name FilesystemType[$j] -Value "$strOutPut59"
$output | Add-Member -MemberType Noteproperty -Name Size[$j] -Value "$strOutPut57"
$output | Add-Member -MemberType Noteproperty -Name FreeSpace[$j] -Value "$strOutPut58"
}
}
}