用PowerShell隐藏磁盘驱动器
2015-06-21 22:18
543 查看
有时候我们可能出于某种原因想要把磁盘驱动器隐藏起来,但是是否一定要安装专业的磁盘工具软件呢?答案是否定的,因为今天我们要用PowerShell来把我们想要隐藏的磁盘隐藏起来。我写了如下的方法,稍后我们来一步步讲解下是如何做到的。
最后通过Set-ItemProperty方法设置了注册表值,只要运行方法,输入欲隐藏的驱动器就可以了。
Function HideDriveLetter { [String[]]$DriveLetter, $RegPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" If($DriveLetter) { Foreach($Drive in $DriveLetter) { $DriveNumber = [Int][Char]$Drive.ToUpper() - 65 $Mask += [System.Math]::Pow(2,$DriveNumber) Set-ItemProperty -Path $RegPath -Name NoDrives -Value $Mask -Type DWORD Write-Host "Successfully hided Drive letter." } } }其实这个方法的处理原理很简单,就是进行对应的注册表键值设置,如下久时我们要对应设置的注册表键值的主键:
$RegPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"接着我们循环遍历,要隐藏的驱动器盘符,在循环遍历驱动器盘符的同时,我们需要进行数值处理,而这个数值就是之后我们需要在注册表里进行填入的值。
Foreach($Drive in $DriveLetter) { <strong>$DriveNumber = [Int][Char]$Drive.ToUpper() - 65 $Mask += [System.Math]::Pow(2,$DriveNumber)</strong> Set-ItemProperty -Path $RegPath -Name NoDrives -Value $Mask -Type DWORD Write-Host "Successfully hided Drive letter." }在这里,我们可以看到我们使用[Int][Char]类型得到对应盘符的数值接着做一些计算处理来获得每个盘符的注册表值。
最后通过Set-ItemProperty方法设置了注册表值,只要运行方法,输入欲隐藏的驱动器就可以了。
Set-ItemProperty -Path $RegPath -Name NoDrives -Value $Mask -Type DWORD对了,我们必须要重启电脑才能看到代码生效。
相关文章推荐
- [SHELL]20150621前总结——基本常用操作语句
- login shell 和 nologin shell
- shell脚本批量生成配置文件
- bash之命令编辑快捷键
- 调用ShellExecute需要头文件
- Bash变量扩展修改符
- Linux Bash 快捷键大全
- Linux-shell基础-1
- shell小技巧
- 直接插入排序 Shell(希尔)排序
- shell知识点2
- shell知识点
- shell的初始化文件:/etc/profile和/etc/bashrc(bash.bashrc)
- linux系统中关于shell变量$*与$@的区别
- Bash的类型(交互、登录)及其相关配置文件
- shell学习二十一天----重新格式化段落
- shell学习二十天----sort的其他内容以及uniq命令
- centos下shell环境查看实时流量
- 用本机XShell连接VM+Ubuntu
- 30分钟搞定BASH脚本编程!