У меня есть несколько серверов, которые я продолжаю получать Ошибка EventID 5605
Пространство имен root \ cimv2 \ TerminalServices отмечено флагом RequiresEncryption. В доступе к этому пространству имен может быть отказано, если сценарий или приложение не имеют соответствующего уровня проверки подлинности. Измените уровень аутентификации на Pkt_Privacy и снова запустите скрипт или приложение.
Проблема в том, что я понятия не имею, откуда запускается этот сценарий, поэтому я не могу обновить сценарий, чтобы решить проблему, как и любой другой пост, который я нашел по событию 5605. Я проверил GPO на предмет сценариев запуска, я проверил все свои общий ресурс SYSVOL домена для сценария VBScript или Powershell. Я нигде не могу найти этот сценарий. Как я могу отследить этот скрипт и исправить его, чтобы он перестал выдавать эту ошибку?
Использовать Отслеживание событий WMI в средстве просмотра событий это позволит вам связать запросы WMI с конкретным процессом.
События WMI появляются в окне событий для WMI-Activity.
Этот журнал событий иногда неудобно использовать, поэтому вы можете использовать такой сценарий, чтобы начать отслеживание и просмотр событий с именем процесса, прикрепленным к запросам WMI:
$wmiLog = "Microsoft-Windows-WMI-Activity/Trace"
echo y | Wevtutil.exe sl $wmiLog /e:true
Read-Host -Prompt "Tracing WMI Started. Press [ENTER] to stop"
echo y | Wevtutil.exe sl $wmiLog /e:false
$events = Get-WinEvent -LogName $wmiLog -Oldest | Where-Object {$_.message.Contains("Operation = Start") -or $_.message.Contains("Operation = Provider") }
if ($events -eq $null)
{
Write-Host "No WMI events in trace!"
return
}
$table = New-Object System.Data.DataTable
[void]$table.Columns.Add("Computer")
[void]$table.Columns.Add("Namespace")
[void]$table.Columns.Add("Type")
[void]$table.Columns.Add("Query")
[void]$table.Columns.Add("UserName")
[void]$table.Columns.Add("Process")
ForEach ($event in $events)
{
switch ($event.Properties.Count)
{
6 {
$typeStart = $event.Properties[1].Value.IndexOf("::")+2
$typeEnd = $event.Properties[1].Value.IndexOf(" ",$typeStart)
$type = $event.Properties[1].Value.Substring($typestart,$typeEnd-$typeStart)
$query = $event.Properties[1].Value.Substring($event.Properties[1].Value.IndexOf(":",$typeEnd)+2)
$process = Get-Process -Id ($event.Properties[2].Value) -ErrorAction SilentlyContinue
if ($process -eq $null)
{
$process = "($($event.Properties[2].Value))"
}
else
{
$process = "$($process.Name) ($($process.Id))"
}
[void]$table.Rows.Add(`
$env:COMPUTERNAME,`
"\\.\root\cimv2",`
$type,`
$query,`
"N/A",
$process)
}
8 {
$typeStart = $event.Properties[3].Value.IndexOf("::")+2
$typeEnd = $event.Properties[3].Value.IndexOf(" ",$typeStart)
$type = $event.Properties[3].Value.Substring($typestart,$typeEnd-$typeStart)
$query = $event.Properties[3].Value.Substring($event.Properties[3].Value.IndexOf(":",$typeEnd)+2)
$process = Get-Process -Id ($event.Properties[6].Value) -ErrorAction SilentlyContinue
if ($process -eq $null)
{
$process = "($($event.Properties[6].Value))"
}
else
{
$process = "$($process.Name) ($($process.Id))"
}
[void]$table.Rows.Add(`
$event.Properties[4].Value,`
$event.Properties[7].Value,`
$type,`
$query,`
$event.Properties[5].Value,
$process)
}
default
{
Write-Error "Unexpected number of event properties."
Write-Host $event
Write-Host $event.Properties
}
}
}
$table | Out-GridView
Tracelog.exe и tracefmt.exe из Комплект драйверов Windows (WDK) также может использоваться для трассировки WMI.
Поскольку это WMI, он часто отражает удаленный вызов. Например, сканеры Lansweeper вызывают эту ошибку, но для другого пространства имен: root \ cimv2 \ Security \ MicrosoftTPM. Возможно, вам потребуется отслеживать сетевой трафик, поступающий на затронутый сервер, чтобы определить источник запроса WMI, если он не является чем-то локальным.