如何编写 powershell 脚本来知道磁盘是基本的还是动态的?
Posted
技术标签:
【中文标题】如何编写 powershell 脚本来知道磁盘是基本的还是动态的?【英文标题】:How to write a powershell script to know disk is basic or dynamic? 【发布时间】:2020-06-24 11:29:00 【问题描述】:我必须检查给定节点是否包含任何动态磁盘,并使用 Power Shell 脚本获取动态磁盘列表。我不应该使用 diskpart 命令。除 diskpart 之外的任何其他解决方案将不胜感激。
【问题讨论】:
我们无法为您编写完整的脚本。请使用@Midacts 的答案并尝试创建一个脚本。如果您在任何我们可以提供帮助的地方遇到困难。 【参考方案1】:https://social.technet.microsoft.com/Forums/windowsserver/en-US/cd7c0327-3fe9-45fc-a177-5a9927d468f3/does-the-getdisk-funtion-only-return-basic-disks?forum=winserverpowershell
Get-WmiObject Win32_DiskPartition -filter "Type='Logical Disk Manager'" | Select-Object *
【讨论】:
还有其他类型也倾向于动态磁盘,下面我列出了分区“类型”的所有可能值。 “未使用”、“12 位 FAT”、“Xenix 类型 1”、“Xenix 类型 2”、“16 位 FAT”、“扩展分区”、“MS-DOS V4 Huge” 、“可安装文件系统”、“PowerPC 参考平台”、“UNIX”、“NTFS”、“Win95 w/Extended Int 13”、“Extended w/Extended Int 13”、“逻辑磁盘管理器”、“未知”跨度> reddit.com/r/PowerShell/comments/4dmicj/… 似乎您只想添加要过滤的其他“类型”。 但是不知道哪个属于dynamic哪个属于basic 链接使用“逻辑磁盘管理器”【参考方案2】:你也可以使用 diskpart 实用程序,它很容易编写脚本(我在 Python 中使用它) 这个想法是当你执行diskpart然后列出磁盘时, 输出将是:
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 476 GB 0 B *
所以您会在“Dyn”下看到所有标有星号的动态磁盘
【讨论】:
以上是关于如何编写 powershell 脚本来知道磁盘是基本的还是动态的?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过使用标志或参数启动脚本来跳过部分 PowerShell 脚本