0

我查了一下,找到了很好的信息,但是关于如何处理自定义 xml 数据并没有什么特别好的信息。下面的代码是我到目前为止在 powershell 中所做的。我知道有一个调用休息方法,但我正在努力转换这个方法。

$username = "tuser"
$Date = (Get-Date).AddDays(-7).ToString()
$CurlData = @"
<?xml version="1.0" standalone="yes"?>
<ActivityRecordSearch xmlns="http://schemas.netwrix.com/api/v1/activity_records/">
<FilterList>
<Who Operator="Contains>$username</Who>
<ObjectType Operator="Equals">Logon</ObjectType>
<when>
    "From": $date
    "To": $((Get-date).tostring())
</when>
</FilterList>
</ActivityRecordSearch>
"@


$CurlArgument = '-H "Content-Type:application/xml; Charset=UTF-8"', 
                "http://netwrix:10000/netwrix/api/v1/activity_records/",
                '--data-binary', "$CurlData"
Start-Process "C:\TMP\curl-7.72.0-win64-mingw\bin\curl.exe" -ArgumentList $CurlArgument

如何在 PowerShell 5 上转换为调用休息方法?

4

1 回答 1

0

您的引号数量不相等,包含开头有双引号但没有结束引号。

<Who Operator="Contains>$username</Who>

您可能还想将其转换为 XML

$CurlData = [xml]@"
<?xml version="1.0" standalone="yes"?>
<ActivityRecordSearch xmlns="http://schemas.netwrix.com/api/v1/activity_records/">
<FilterList>
<Who Operator="Contains">$username</Who>
<ObjectType Operator="Equals">Logon</ObjectType>
<when>
    "From": $date
    "To": $((Get-date).tostring())
</when>
</FilterList>
</ActivityRecordSearch>
"@
于 2020-10-01T19:26:33.163 回答