powershell - 用于远程计算机的 Powershell Get-Volumn
问题描述
下面是我为本地服务器执行以获取磁盘详细信息的代码
$props = @(
'DriveLetter'
'FileSystemLabel'
'FileSystem'
'DriveType'
'HealthStatus'
'OperationalStatus'
@{n='SizeRemaining';e={"{0:N2}" -f ($_.SizeRemaining/ 1Gb)}}
@{n='Size';e={"{0:N2}" -f ($_.Size / 1Gb)}}
@{n='% Free';e={"{0:P}" -f ($_.SizeRemaining / $_.Size)}}
)
$Diskmgmt = Get-Volume | Select-Object $props
foreach($dsk in $Diskmgmt)
{
$dl = $dsk.DriveLetter
$fsl = $dsk.FileSystemLabel
$fs = $dsk.FileSystem
$dt = $dsk.DriveType
$hs = $dsk.HealthStatus
$os = $dsk.OperationalStatus
$sizer = $dsk.SizeRemaining
$siz = $dsk.Size
$PercentFree = $dsk.'% Free'
}
我需要连接到远程服务器并获取数据。
请让我知道如何为此命令连接远程计算机。
解决方案
Get-Volume
还有一个参数CimSession
,您可以在其中给它一个计算机名或一组计算机名。(在远程会话或远程计算机上运行 cmdlet。输入计算机名称或会话对象)
这使您可以将代码简化为:
$props = @{Name = 'ComputerName'; Expression = {$_.PSComputerName}},
'DriveLetter','FileSystemLabel','FileSystem','DriveType','HealthStatus','OperationalStatus',
@{Name = 'SizeRemaining_GB'; Expression = {"{0:N2}" -f ($_.SizeRemaining/ 1Gb)}},
@{Name = 'Size_GB'; Expression = {"{0:N2}" -f ($_.Size / 1Gb)}},
@{Name = '% Free'; Expression = {"{0:P}" -f ($_.SizeRemaining / $_.Size)}}
$Diskmgmt = Get-Volume -CimSession server01, server02 | Select-Object $props | Sort-Object ComputerName, DriveLetter
推荐阅读
- swift - 创建一个 CMAudioClock
- mysql - MySQL - 从 SELECT 中插入 INTO,并在 Node Express 中传入值
- vuejs2 - 查看渲染错误 (Vue)
- ios - Swift Charts-条形图垂直网格线
- python - 如何在 python 中将 XML 转换为 HTML?
- clojure - 勇敢而真实的 Clojure 中的 Peg Thing 示例:会有堆栈溢出问题吗?
- java - 通过启动 Spring Boot 应用程序在 H2 数据库中创建表
- android - Room RxJava2 使用 Flowable 更新 UI
- > 当用户进行查询或更改过滤器时
- c# - Xamarin Forms Shell - 带有复杂构造函数的页面的汉堡菜单
- php - Laravel,如何将数字转换为小时和分钟