如何使用 powershell 从 150 台服务器获取 C 盘的状态(html 格式)。
我有这个代码
Get-WmiObject win32_logicaldisk -Computername remotecomputer
我正在尝试获取远程服务器信息(如剩余空间和可用空间百分比),并将其以 HTML 文件格式显示。我希望在 HTML 文件中包括 150 台服务器。
答案1
将 150 台服务器直接放入变量或使用 Get-Content 并使用 Get-Volume 和 ConvertTo-HTML。
$servers = "server1","server2"
$props = @(
"*",
@{Name="Space";Expression={"$([int]($_.Size / 1024Mb)) GB"}},
@{Name='SpaceUsed';Expression={"$([int](($_.Size - $_.SizeRemaining) / 1024Mb)) GB"}},
@{Name="SpaceRemaining";Expression={"$([int]($_.SizeRemaining / 1024Mb)) GB"}},
@{Name='PercentFull';Expression={"$([int](100 - (($_.SizeRemaining / $_.Size) * 100))) %"}}
)
Get-Volume -DriveLetter C -CimSession $servers |
Select-Object -Property $props -ExcludeProperty *cim* |
ConvertTo-Html |
Out-File -FilePath $env:temp\ServerCVolumes.html
已编辑:添加了剩余空间。在我编辑我的空间之前,Cory Knutson 发布了可用空间。
答案2
这将包括可用空间百分比,以及以 GB 为单位的可读大小
$servers = "server1","server2"
$output = @()
$Servers | ForEach-Object {
$server = $_
$output += Get-Volume C -CimSession $_ |
Select-Object @{Name="Server";Expression={$server}},`
@{Name="PercentFree";Expression={$_.SizeRemaining / $_.Size}},`
@{Name="RemainingReadable";Expression={"$($_.SizeRemaining / 1024Mb) GB"}},`
Size,SizeRemaining,FileSystem
}
$output | ConvertTo-Html | Out-File C:\Report.html
# OR
$output | Export-Csv -NoTypeInformation -Path C:\report.csv