powershell - 使用 set-itemproperty 设置十进制值而不是十六进制
问题描述
我需要将两个注册表值更改为 30,但它们必须是十进制的,我使用的是下面的,但它总是用十六进制写。我花了几个小时在谷歌上搜索和玩耍,试图找到一种方法将基数指定为十进制而不是十六进制 - 出于某种原因,Windows 10 VPN 超时只能读取十进制时间......
$val1 = Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP -Name "MaxConfigure"
if($val1.MaxConfigure -ne 30)
{
set-itemproperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP -Name "MaxConfigure" -value 30
}
$val2 = Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP -Name "MaxFailure"
if($val2.MaxFailure -ne 30)
{
set-itemproperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP -Name "MaxFailure" -value 30
}
运行上述后,两个值都设置为 Hex 1e,即 30,但我需要在注册表项中指定基本十进制,并将值读取为 30
解决方案
正如您自己所说,1e
(hex) 和30
(dec) 是完全相同的值。您在注册表编辑器中看到的只是一个显示选项。两者实际上都是 的REG_DWORD
值0x0000001e
。
您可以轻松地验证这一点:
(Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP).MaxFailure
(Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\PPP).MaxFailure.GetType()
推荐阅读
- docker - docker:创建容器时出错:400 客户端错误:错误请求(\“无效的参考格式\”)“
- java - 如何查看已安装的 Karaf 功能
- ruby-on-rails - ActionView::Template::Error: 未定义的方法 `root_path'
- python - Python Json 格式化
- c++ - 与预处理器的 C++ 条件链接
- php - 从 csv 列表创建多维数组
- c# - c#列表不添加项目
- javascript - 试图从十六进制值中获得较浅的颜色
- android - 当应用程序从空闲状态返回时,Android 服务未重新启动
- liquibase - 使用 Liquibase 的 mysql 不支持 setColumnRemarks