设为首页收藏本站language 语言切换
查看: 856|回复: 0
收起左侧

powershell中的Disk 逻辑磁盘

[复制链接]
发表于 2016-8-19 09:43:57 | 显示全部楼层 |阅读模式
Disk 逻辑磁盘

Get-Disk

此命令用于获取可由操作系统管理的磁盘。当然如果是动态磁盘。或者已经位于池中的磁盘

无法通过此命令获取,在不添加任何参数下,仅显示磁盘序号,名称,当前磁盘联机状态,大小,以及分区形式。

如下图所示


                               
登录/注册后可看大图

我们使用get-disk |Select-Object * 对其进行完整输出,如下图


                               
登录/注册后可看大图

下面对其中属性进行解释

PartitionStyle                 磁盘分区类型对于已经初始化的磁盘这里将会显示 MBR,GPT,

没有经过初始化的磁盘或者磁盘损坏磁将会显示RAW

OfflineReason               磁盘脱机原因

BootFromDisk               是否为启动磁盘 其中只有两个显示分别为False,True

IsClustered                  是否以群集化 为布尔类型  其中只有两个显示分别为False,True

IsOffline                     是否脱机   为布尔类型   其中只有两个显示分别为False,True

IsReadOnly                  是否为只读  为布尔类型   其中只有两个显示分别为False,True

IsSystem                    是否为系统磁盘 为布尔类型 其中只有两个显示分别为False,True

Number                    磁盘序号,一般和物理磁盘的DeviceId 一致

NumberOfPartitions            当前磁盘总计分区数,也就是说这个磁盘上当前有几个分区的意思

ObjectId/ Path               分别为对象ID 与设备路径,这些均可以在设备管理器看到

UniqueId                    在get-physicaldisk 中介绍过这里不再介绍

下面即将演示通过get-disk 命令找出磁盘分区格式为GPT的磁盘

使用get-disk |where {$_.PartitionStyle -match "GPT"} 来获取GPT分区格式的磁盘

如下图


                               
登录/注册后可看大图

       

提问 :

1.如何通过UniqueId 参数查找特定的磁盘?

2.如何查找处于脱机的磁盘,如何查找其脱机原因?

3.如何查找一个或者多个指定序号的磁盘?

4.如何找出未初始化的磁盘?

思考问题   UniqueId 很长难以记住,有没有更好的方法呢?





Set-Disk

此命令用于更改由get-disk 可获取的对象属性,其可更改的属性包括磁盘分区类型,

是否脱机,是否只读。

下面将演示使用set-disk 命令对磁盘进行更改,使其脱机(offline)

在本例中将会出现四个磁盘用于演示,其中有HDD一个SSD三个。

可用于更改的磁盘有两个SSD。

第一步 使用get-disk 获取当前可供管理的磁盘如下图


                               
登录/注册后可看大图

从图中获取到可更改的磁盘序号分别为 0,1(这两个是新加上的没有任何数据)

第二步 利用管道将序号为0,1的磁盘传递给set-disk 让其脱机(offline)

get-disk 0,1|Set-Disk -IsOffline $true,此后重新使用get-disk 命令再次获取磁盘状态

这里我们为get-disk 命令添加参数 –number

如下图


                               
登录/注册后可看大图

此时磁盘已经脱机在磁盘管理中可以看到


                               
登录/注册后可看大图

还记得get-disk命令输出中有一项属性为offlinereason,

现在我们来看一下这两个磁盘的脱机原因

使用get-disk -Number 0,1 |Select-Object OfflineReason 如下图


                               
登录/注册后可看大图

图中明确的告诉我们脱机原因是因为策略

磁盘管理中给出的原因如图


                               
登录/注册后可看大图

本节的演示已经回答了在get-disk一节的提问,对于没有演示的提问在本节中也已经给出方法。

提问 如何使用UniqueId参数 来设定磁盘分区形式,是否只读?









Initialize-Disk

此命令用于初始化磁盘。

此命令在执行时将初始化磁盘,同时指定其分区形式(MBR/GPT其中GPT 为默认形式)

磁盘在格式化前必须经过初始化,以用来数据存储。

此命令可以初始化物理磁盘也可以初始化虚拟磁盘。

下面将演示如何将一个或者多个磁盘进行初始化。

在本次演示中将初始化两个SSD 同时其分区形式为GPT

同时我们将定义一个变量用于接收命令产生的对象,用于简化输入

第一步 通过get-disk 命令查找未初始化的磁盘


如下图


                               
登录/注册后可看大图

第二步 定义变量 $disk_init 内容为get-disk产生的对象


                               
登录/注册后可看大图



第三步 使用管道符号将变量内容传递给 initialize-disk 命令

同时指定参数 PartitionStyle   其参数值为GPT


                               
登录/注册后可看大图

此时位于变量 $disk_init 中的磁盘对象将逐一传递给initialize-disk 命令进行初始化

Clear-disk

此命令用于清除选中磁盘的分区信息,并且将磁盘重置到未初始化的状态

注意:已经池化的磁盘无法通过此命令执行清除操作

此操作会使选中磁盘上的数据全部丢失!!请谨慎使用

下面将演示使用此命令进行清除操作

环境 环境中有一个SSD 同时有一个分区分区形式为GPT且使用全部磁盘容量,分配盘符为E,磁盘编号为0,

如下图所示


                               
登录/注册后可看大图



使用Clear-Disk -Number 0 对其进行清除 运行后如下图


                               
登录/注册后可看大图



图中出现红色错误,提示我们在拥有分区的情况下无法清除,请使用removedata 参数

下面我们添加removedata 参数 运行后如下


                               
登录/注册后可看大图



                               
登录/注册后可看大图



提示: 在仅仅完成初始化的磁盘上进行清除操作时候无需添加removedata参数

     提问:如何同时对多个磁盘进行清除



Update-disk

此命令用于刷新磁盘缓存信息状态。

默认情况下update-disk 将刷新全部磁盘状态

注意某些多磁盘系统上此命令可能运行很长时间

在刷新状态时候我们可以使用公共参数 –asjob使其任务进入后台图下图


                               
登录/注册后可看大图

此后我们使用get-job 来获取任务状态如下图


                               
登录/注册后可看大图

对于获取已经完成的任务信息我们使用Receive-Job 进行获取

提问:

请尝试使用Receive-Job 获取本里中结果



---本文档由联科教育(http://www.iLync.cn)田梦博原创提供,如有问题请咨询我们的专家团队!---

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-2 19:57 , Processed in 0.214278 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表