使用PowerShell消除Windows系统中WiFi网络名字后面的数字

我之前用过的手机热点的SSID是“Azure’s iPhone”,换了新手机之后再次打开热点,发现网络名字被Windows显示成了“Azure’s iPhone 2”,which 让我不太高兴。

解决方案:以管理员权限运行PowerShell,输入

然后输入

注意-like选项使用的是通配符,因此会匹配到iPhone而不是iPhone 2。结果看起来如下,只有一条:

确认无误后,加上Remove-Item进行删除操作:

然后把iPhone 2改回来:

-match选项使用的是正则表达式。关闭WLAN再打开,重新联网,问题解决。


由于管道中的Get-ItemProperty得到的是该注册表项下的值,而不是代表该项本身了,所以使用-PipelineVariable通用选项可以把管道前面的结果(这里是Get-ChildItem(ls)得到的项对象)存放在变量中以便后续操作,这要求PowerShell v4+。版本太低的话只好这么写了……看上去就很不pipeline了

 

Windows下文件散列值的计算

在Windows平台下可以不借助第三方工具计算一个文件的散列值。

按Win+R调出“运行”对话框,输入powershell,启动Windows PowerShell。输入以下命令:

 

例如:Get-FileHash “C:\Users\Azure\Desktop\foo.apk” -Algorithm MD5
这将计算文件的MD5值。还可以使用SHA1、SHA256等算法。
当然 输入完Get-FileHash+一个空格之后,可以直接把文件拖进窗口内,会变成文件路径。

use-powershell-to-calc-md5

可以使用的算法参数有:

  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MACTripleDES
  • MD5
  • RIPEMD160

如果省略-Algorithm参数,则默认SHA256算法。