第一次在这里发帖!
我正在寻求改进对 Windows 2008 R2 上 DFS 复制的监控,因此无法访问 2012 及更高版本可用的更好的 PS cmdlet。我遇到了一个奇怪的问题,想知道如何摆脱它,好吗?我有点 PS 新手,所以我希望解决方案足够简单。:-)
我使用 WMI 查询 DFSR VolumeInfo(参见ref),所以:
$DFSVolumeInfo = gwmi -Namespace "root\MicrosoftDFS" -Computer $DFSServer -query "select * from DfsrVolumeInfo"
现在,如果我没有返回,然后加上引号:
write-host $DFSVolumeInfo.VolumePath
\\.\E: \\.\D:
write-host "$DFSVolumeInfo.VolumePath"
\\DC2-SRV-DFS01\root\MicrosoftDFS:DfsrVolumeInfo.VolumeGuid="6C4C4203-2BC9-11E4-9EF3-0050568815FA"
\\DC2-SRV-DFS01\root\MicrosoftDFS:DfsrVolumeInfo.VolumeGuid="D214D634-F794-11E3-9EF3-0050568815FA".VolumePath
后者也给出了VolumeGuid
。
该类为VolumePath
VolumePath 数据类型:字符串 访问类型:只读 限定符:DisplayName ("Replication Group GUID") 卷路径格式;这是要么\\.\C:
要么\\?\volume{GUID}
。
无论如何要返回 VolumePath,即引号内的 C:、D: 等,而不是 GUID?
输出需要更具人类可读性,因此我将用引号回显输出,即"$DFSVolumeInfo.VolumePath on $DFSServer has a state of $DFSVolumeInfo.State"