所以回到这个......
我有一个服务器列表(server.txt)我需要在此列表中查询Reg_Binary值...
我需要让脚本循环遍历列表 - 如果需要,打开远程注册表,从密钥中获取Reg_Binary(SignaturesLastUpdated)中的值 - “SOFTWARE \ Microsoft \ Microsoft Antimalware \ Signature Updates”
以服务器名称旁边的日期和时间格式输出信息 - 理想情况下是csv(但这不是主要交易) - 最好在每个周期附加一个文件。
然后我需要它将远程reg服务返回到它找到的状态。
我已经花了不少于20次运行并且不愿意修改任何代码 - 谦虚地要求在Powershell拥有更高技能水平的人返回所需脚本的响应。
我正在做所有这一切,因为似乎Microsoft FEP不会使用实时信息更新SCCM,因此报告没有价值 - 如果您知道一种解决方法,那么这是理想的......
对不起,我知道这有很多要问 - 但我已经厌倦了打这个,所以请帮忙。
答案 0 :(得分:0)
这再次是here答案的延续。由于OP正在寻求处理服务状态,因此这不是重复。
$servers = Get-Content "C:\Windows\System32\List3.txt"
$key="SOFTWARE\Microsoft\Microsoft Antimalware\Signature Updates"
$value = "SignatuesLastUpdated"
$servers | ForEach-Object{
$server = $_
Try{
Get-RegBinary -ComputerName $server -Key $Key -Value $value -ErrorAction Stop
} Catch [Microsoft.PowerShell.Commands.WriteErrorException]{
# Couple of reasons for this exception
If($_.Exception -match "network path was not found"){
# This was triggered when the service was not running. Attempt to start it.
$remoteService = Get-Service -ComputerName $server -Name RemoteRegistry
If($remoteService.Status -eq "Stopped"){$remoteService | Start-Service}
# Try and get the key again.
Try{
Get-RegBinary -ComputerName $server -Key $Key -Value $value -ErrorAction Stop
} Catch{
[pscustomobject]@{
ComputerName = $server
Data = "Unable to get key after attempting to start service. Possibly does not exist"
}
}
# Restore the service to a stopped state.
$remoteService | Stop-Service
} ElseIf($_.Exception -match "Cannot find value") {
# If the key does not exist.
[pscustomobject]@{
ComputerName = $server
Data = "Key/Value pair does not exist."
}
}
}
Catch{
[pscustomobject]@{
ComputerName = $server
Data = "Unable to retrieve data"
}
}
} | Select ComputerName,@{Label=$value;Expression={If(!($_.Data -is [string])){[System.Text.Encoding]::Ascii.GetBytes($_.data)}Else{$_.Data}}} | Export-csv C:\temp\data.log -NoTypeInformation
来自3台电脑的示例
“计算机名”, “测试” “c3935”,“57 55 32 57 56 32 57 57 32 49 48 48 32 49 48 49” “C4186”,“键/值对不存在”。 “C4094”,“57 55 32 57 56 32 49 48 48 32 49 48 49”