如何使用WMI验证Windows服务器是否具有挂载点

时间:2014-02-02 10:51:40

标签: powershell wmi windows-server

我正在生成一个报告,我需要找到哪些服务器上配置了挂载点。 你能帮助我们使用WMI或PowerShell来获取这些信息。

我的意思是我需要识别服务器,如果存在挂载点......还有他们的名字....

1 个答案:

答案 0 :(得分:1)

从textfile,AD等获取所有服务器的列表,并使用以下内容运行foreach循环:

Get-Wmiobject -query “select name,driveletter,freespace from win32_volume where drivetype=3 AND driveletter=NULL” -computer servername

快速谷歌搜索“windows mount point wmi”将返回THIS (source)

然后将结果导出为CSV,HTML或任何您需要的内容。你的问题缺乏很多细节,也没有任何你努力的迹象,所以我不能/不会再进一步​​了。

更新:这有帮助吗?它列出了挂载点(文件夹路径,而不是驱动器)。

$servers = @("server1","server2","server3","server4","server5")

$servers | % {
    $mountpoints = @(Get-WmiObject Win32_MountPoint -ComputerName $_ | Select-Object -ExpandProperty Directory | ? { $_ -match 'Win32_Directory.Name="(\w:\\\\.+)"' }) | % { [regex]::Match($_,'Win32_Directory.Name="(\w:\\\\.+)"').Groups[1].Value -replace '\\\\', '\' }

    if($mountpoints.Count -gt 0) {
        New-Object psobject -Property @{
            Server = $_
            MountPoints = $mountpoints
            }
    }
}

Server     MountPoints
------     -----------
{server1} {D:\SSD, C:\Test}