我目前正在尝试使用此脚本来格式化HTML表格(https://gallery.technet.microsoft.com/scriptcenter/PowerShell-HTML-Notificatio-e1c5759d#content)
我设法让大部分功能都能正常工作,但无法使Add-HTMLTableColor功能起作用。
我使用的代码如下:
$params = @{
Column = "Used (GB)"
ScriptBlock = {[double]$args[0] -gt [double]$args[1]}}
Get-PSDrive -PSProvider FileSystem | New-HTMLTable -setAlternating $false | Add-HTMLTableColor -Argument 40 -attrValue "background-color:#FFFF99;" @params
但是,它会抛出错误:名称空间不正确。
我深入研究了TechNet上提供的脚本,发现在传递HTML时,System.Xml.Linq的Parse函数在大XML节点上返回,而不是单独的XML节点。它确实声明它需要System.Xml.Linq v2并且我只设法找到v3和v4的dll?
错误的版本是问题的根源还是有其他原因导致无法正确地将HTML解析为XML?还是完全是另一个问题?
答案 0 :(得分:0)
我测试了另一个使用系统中的System.Xml.Linq dll文件的库。尝试使用dll时也会返回错误。
在替换了Linq dll需求后,可以合理地导入Linq功能,两个库中的两个函数都正常工作。
因此,确定Linq dll与PowerShell不完全兼容,并且无法完美地将HTML解析为XML。
解决方案是使用自定义assmebly导入(例如此script中的导入)或一起使用不同的库。