我正在尝试从Windows注册表编辑器中读取,如果读取的值是正确的,或者根据强化要求,我将Good
放到Bad
。
我想添加一个统计信息,我想要计算所有Bad
值,并将其放在一个表中,说这些都是具有错误值的注册表。
但我不太确定如何操作函数return,因此我可以收集这些注册表值并编译成报告。
$array = @(
"PreventStorage",
"RemoteAssistance",
)
function PreventStorage {
$getvalue = get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "NoLmHash"
if ($getvalue.NoLmHash -eq 1) {
Write-Output "Good"
}
else { Write-Output "BAD"}
}
function RemoteAssistance {
$getvalue = get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Remote Assistance" -Name "fAllowToGetHelp"
if ($getvalue.fAllowToGetHelp -eq 0) {
Write-Output "Good"
}
else { Write-Output "BAD"}
}
$location = Get-Location
If (Test-Path $path ) {
$array | ForEach { ( Invoke-Expression $_)} | Out-File $location\copy_into_a_report.txt
}
问题:如何添加单个衬垫或双衬垫以检查返回功能是好还是坏。如果是坏的,则写出包含错误值的注册表?
我试图在函数内部添加一个变量,并从外部读取变量,如此
function PreventStorage {
$getvalue = get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name "NoLmHash"
if ($getvalue.NoLmHash -eq 1) {
$new_variable = 'Good'
Write-Output "$new_variable"
}
else {
$new_variable = 'Bad'
Write-Output "$new_variable"
}
}
我试过以下
$new = $array | ForEach { ( Invoke-Expression $_)}
foreach ($new ) | where {$new_variable -eq 'Bad' } | Out-File $location\copy_into_a_BADreport.txt
答案 0 :(得分:0)
这个问题可以关闭,解决了我自己的问题。创建了一个存储键值对的哈希表。