我试图通过查询所有驱动器来确定远程服务器上的可用空间,然后循环直到找到我正在寻找的驱动器.
有一个更好的方法吗?
Dim oConn As New ConnectionOptions
Dim sNameSpace As String = "\\mnb-content2\root\cimv2"
Dim oMS As New ManagementScope(sNameSpace, oConn)
Dim oQuery As System.Management.ObjectQuery = New System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3")
Dim oSearcher As ManagementObjectSearcher = New ManagementObjectSearcher(oMS, oQuery)
Dim oReturnCollection As ManagementObjectCollection = oSearcher.Get()
Dim oReturn As ManagementObject
For Each oReturn In oReturnCollection
'Disk name
Console.WriteLine("Name : " + oReturn("Name").ToString())
'Free Space in bytes
Dim sFreespace As String = oReturn("FreeSpace").ToString()
If Left(oReturn("Name").ToString(), 1) = "Y" Then
Console.WriteLine(sFreespace)
End If …Run Code Online (Sandbox Code Playgroud) 我必须创建一个在给定文件夹中执行某些操作的脚本,但它必须包括在开始操作之前预先检查是否有足够的空间。文件夹名称是 UNC 路径,例如\\example-server\share1\folder\subfolder\. 如何获取文件夹中的可用空间量?
到目前为止我尝试过的事情:
我读到可以使用gwmi、Get-CimInstance、Get-Volume 和Get-PSDrive来获取有关卷的信息,但我不知道如何确定存储文件夹的卷。
我尝试在我的脚本中使用这个看起来很有趣的函数,GetDiskFreeSpaceEx但遗憾的是它返回了 Success=false 和“Free”的空值。
查看通过 azure Metrics API 磁盘空间可用的指标,也不是可用内存,都可以作为指标使用。
现在我知道我可以使用它通过门户查看这些指标。
但我特别希望定期查询这些数据,以便在我的任何 VM 磁盘空间快满(或内存快满)时提醒我。
有没有办法做到这一点?