我Woking的基於PowerShell來獲取來自多個服務器的磁盤信息,我需要背景色設置爲特定的細胞形式Percentfree列,RED當磁盤WPF工具細胞Datagrid的背景顏色如果可用空間在10-15%之間,則可用空間小於10%,橙色可用空間小於10%。通過對夫婦去爲博客/文章後,不知何故,我設法除了還在苦苦設置多個值或值範圍背景顏色的預期結果。PowerShell的WPF - 基於價值
任何幫助,在此,將不勝感激。謝謝..!
<DataGrid Name="diskstatus" HorizontalAlignment="Left" Margin="24,65,0,10" Width="739" GridLinesVisibility="None" AlternatingRowBackground="Lightgray" AlternationCount="2">
<DataGrid.Columns>
<DataGridTextColumn Header="Server Name" Binding="{Binding ServerName}" Width="130"/>
<DataGridTextColumn Header="Csize (GB)" Binding="{Binding Csize}" Width="100"/>
<DataGridTextColumn Header="Cfree (GB)" Binding="{Binding Cfree}" Width="100"/>
<DataGridTextColumn Header="CPercentfree" Binding="{Binding CPercentfree}" Width="100">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="5">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Dsize (GB)" Binding="{Binding Dsize}" Width="100"/>
<DataGridTextColumn Header="Dfree (GB)" Binding="{Binding Dfree}" Width="100"/>
<DataGridTextColumn Header="DPercentfree" Binding="{Binding DPercentfree}" Width="100"/>
</DataGrid.Columns>
</DataGrid>
PowerShell的函數來獲得盤信息:
Function Getdiskinfo()
{
[email protected]()
$importcsv= Import-Csv -Path $TPAcsvfile
$Getservers = $importcsv.servername
foreach ($CompName in $Getservers)
{
$cdrivespace= Get-WMIObject Win32_logicaldisk -ComputerName $CompName | ?{$_.DeviceID -eq 'C:'} | Select @{Name=‘cTotalSize’;Expression={[int]($_.Size/1gb)}},`
@{Name=‘cFreeSpace’;Expression={[int]($_.FreeSpace/1gb)}}, @{Name=‘cPercentFree’;Expression={[math]::Round($_.FreeSpace/$_.Size,2)*100}}
$ddrivespace= Get-WMIObject Win32_logicaldisk -ComputerName $CompName | ?{$_.DeviceID -eq 'D:'} | Select @{Name=‘dTotalSize’;Expression={[int]($_.Size/1gb)}},`
@{Name=‘dFreeSpace’;Expression={[int]($_.FreeSpace/1gb)}}, @{Name=‘dPercentFree’;Expression={[math]::Round($_.FreeSpace/$_.Size,2)*100}}
$diskinfo = New-Object psobject
Add-Member -InputObject $diskinfo -membertype noteproperty -name "ServerName" -value $CompName
Add-Member -InputObject $diskinfo -membertype noteproperty -name "cSize" -value $cdrivespace.cTotalSize
Add-Member -InputObject $diskinfo -membertype noteproperty -name "cFree" -value $cdrivespace.cFreeSpace
Add-Member -InputObject $diskinfo -membertype noteproperty -name "cPercentfree" -value $cdrivespace.cPercentFree
Add-Member -InputObject $diskinfo -membertype noteproperty -name "DSize" -value $ddrivespace.dTotalSize
Add-Member -InputObject $diskinfo -membertype noteproperty -name "DFree" -value $ddrivespace.dFreeSpace
Add-Member -InputObject $diskinfo -membertype noteproperty -name "DPercentfree" -value $ddrivespace.dPercentFree
$diskstatus.addchild($diskinfo)
$dsk +=$diskinfo
} Return, $dsk
}
呃......那麼,是的,你嘗試過什麼到目前爲止PowerShell的一部分嗎? – grek40
嗨,感謝您的答覆...會有點莫名其妙工作我設法讓細胞背景顏色使用單值數據網格視圖但仍然奮力預期的結果,以多個值的同一列。 – samtiger