检测方法-powershell-注册表
我正在研究如何在SCCM中创建检测方法。我一直在使用下面有效的方法。但我需要更多的钱检测方法-powershell-注册表,powershell,Powershell,我正在研究如何在SCCM中创建检测方法。我一直在使用下面有效的方法。但我需要更多的钱 if(test-path -path <regpath>) { Write-Host "installed" } else { } if(测试路径-路径) { 写入主机“已安装” } 其他的 { } 我希望使用where-Name DisplayVersion-eq“7.7.1”作为检测方法。非常感谢您的帮助。以下是一个示例: if ((get-itemproperty hkcu:\key
if(test-path -path <regpath>)
{
Write-Host "installed"
}
else
{
}
if(测试路径-路径)
{
写入主机“已安装”
}
其他的
{
}
我希望使用where-Name DisplayVersion-eq“7.7.1”作为检测方法。非常感谢您的帮助。以下是一个示例:
if ((get-itemproperty hkcu:\key1 name1).name1 -eq 'value1') {
'yes'
}
下面是一个例子:
if ((get-itemproperty hkcu:\key1 name1).name1 -eq 'value1') {
'yes'
}
即使在较旧版本的PowerShell中也能正常工作,但它需要复制值名
在PowerShell v5或更高版本中可以使用Get-ItemPropertyValue
cmdlet,以避免重复:
$key = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\xxx'
$valueName = 'DisplayVersion' # in PS terminology: *property* name
$valueData = '7.7.1' # in PS terminology: *property value*
if ((Get-ItemPropertyValue $key $valueName) -eq $valueData) {
"installed"
} else {
"NOT installed"
}
相反,如果您在给定注册表项路径的所有子项中查找给定属性(注册表值)中的特定属性值(注册表值数据):
$key = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall'
$valueName = 'DisplayVersion'
$valueData = '7.7.1'
if (Get-ChildItem $key | Where { $_.GetValue($valueName) -eq $valueData }) {
"installed"
} else {
"NOT installed"
}
即使在较旧版本的PowerShell中也能正常工作,但它需要复制值名
在PowerShell v5或更高版本中可以使用Get-ItemPropertyValue
cmdlet,以避免重复:
$key = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\xxx'
$valueName = 'DisplayVersion' # in PS terminology: *property* name
$valueData = '7.7.1' # in PS terminology: *property value*
if ((Get-ItemPropertyValue $key $valueName) -eq $valueData) {
"installed"
} else {
"NOT installed"
}
相反,如果您在给定注册表项路径的所有子项中查找给定属性(注册表值)中的特定属性值(注册表值数据):
$key = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall'
$valueName = 'DisplayVersion'
$valueData = '7.7.1'
if (Get-ChildItem $key | Where { $_.GetValue($valueName) -eq $valueData }) {
"installed"
} else {
"NOT installed"
}
您必须使用
get itemproperty
。我是,但我不知道如何使用displayversion的值来表示“xxxx”。Get-ItemProperty-路径“HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\xxxx”|选择displayversion您必须使用Get-ItemProperty
。我是,但我不知道如何使用displayversion的“xxxx”值。获取ItemProperty-路径“HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\xxxx”|选择DisplayVersionTank you。因此,首先预定义变量更容易理解我想要做什么/寻找什么。谢谢。因此,首先预定义变量更容易理解我想要做什么/寻找什么。