如何在不截断输出的情况下通过 PowerShell 检索 Windows Defender 排除项

如何在不截断输出的情况下通过 PowerShell 检索 Windows Defender 排除项

我想编写一个 PowerShell 脚本来显示 Windows 10 中 Windows Defender 中设置的所有排除项。因此,我已经发现可以通过调用来完成此操作

Get-MpPreference | Select-Object -Property ExclusionPath

如果定义了大量文件和文件夹,则会截断输出。

所以我尝试添加

Get-MpPreference | Select-Object -Property ExclusionPath | Out-String -width 1024

这会导致类似的输出:字符串变得更长,但截断仍然存在,只有一些空格被添加在末尾:

ExclusionPath                                                                                                                                                   
-------------                                                                                                                                                   
{C:\Users\Elvi\Documents\Assassin's Creed IV Black Flag, C:\Users\Elvi\Documents\Benutzerdefinierte Office-Vorlagen, C:\Users\Elvi\Documents\FHOA, C:\Users\Elvi\Documents\Gebuhrenzentrale...}



PS C:\WINDOWS\system32>

那么如何防止 Powershell 截断文件夹的输出?

答案1

获取 MpPreference | 选择对象 -ExpandProperty ExclusionPath

-ExpandProperty将 ExclusionPath 集合解开为单独的行,每个排除路径占一行。

Out-String -Width 或者Format-Table -Width在项目数量过多的情况下帮助不够,Powershell 不会显示超过项目值的内容$FormatEnumerationLimit。因此,您也可以将其设置为更高的值

$FormatEnumerationLimit=12

但是,如果项目超过 12 个会发生什么情况(您可以将数量增加到 1500...输出仍然很难看)

答案2

这对我有用,列出所有扩展的条目:

 Get-MpPreference | Select-Object -Property ExclusionPath -ExpandProperty ExclusionPath

答案3

使用管道输出格式表命令行开关,例如

Get-MpPreference | Select-Object -Property ExclusionPath | Format-Table -AutoSize

答案4

用这个:

$exclusions = Get-MpPreference
$exclusions.ExclusionPath

相关内容