标题: [文件操作] 【一键挂载VHD】批处理脚本求改 [打印本页]
作者: mybillmail 时间: 2018-9-25 11:51 标题: 【一键挂载VHD】批处理脚本求改
我参与别人的实例写了一个一键加载VHD的脚本,双击后就会加载U盘中的VHD,测试功能 无异常- @echo off
- set curdir=%~dp0
-
- echo select vdisk file="%curdir%U.vhd" >vhdsel
- echo attach vdisk >>vhdsel
- echo list disk >>vhdsel
- diskpart /s vhdsel
- del /f /q vhdsel
- exit
复制代码
但是我希望加载VHD的时候,是只读属性加载,怎么修改。另外我还希望能指定 盘符,比如指定 为O盘
作者: flashercs 时间: 2018-9-25 12:12
本帖最后由 flashercs 于 2018-9-25 12:24 编辑
1.可以用readonly属性复制代码
2.可以修改Security Descriptor 安全属性标识符,读写删除等所有NT权限可自由设置,要懂SDDL标识符。- ATTACH VDISK SD=D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CR;;;AU)
复制代码
3.可以修改vdisk文件的安全属性,然后让虚拟盘继承vdisk文件的权限。复制代码
随便选择一种方法即可。不过U盘文件系统一般是fat32或exFat,故方法3应是无效的。
分配盘符复制代码
作者: mybillmail 时间: 2018-9-25 15:25
回复 2# flashercs
@echo off
set curdir=%~dp0
echo select vdisk file="%curdir%U.vhd" >vhdsel
echo attach vdisk readonly >>vhdsel
echo list disk >>vhdsel
diskpart /s vhdsel
del /f /q vhdsel
exit
多谢,以上是修改后的脚本,测试可以实现只读加载。分配盘符应该怎么加入代码里。
思路应该是要先选中分区吧,然后把分区用assign letter=O进行修改。
然而用户环境是未知的,所以不好判断加载后的VHD虚拟盘为什么编号的硬盘,这是个难点。已知的只有这VHD只有一个分区。这个感觉非常难处理,希望能指明一个思路
作者: flashercs 时间: 2018-9-25 17:38
回复 3# mybillmail - @echo off
- set curdir=%~dp0
-
- echo select vdisk file="%curdir%U.vhd" >vhdsel
- echo attach vdisk readonly >>vhdsel
- echo select partition 1 >>vhdsel
- echo assign letter=o >>vhdsel
- diskpart /s vhdsel
- del /f /q vhdsel
- exit /b
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |