我正在尝试遍历AD用户,以便将他们发送到SOAP API。
由于某些原因,我得到的是XML字符串中的可分辨名称,而不是属性值。
# get list of users
$users = Get-ADUser -Filter * -Properties mail, telephoneNumber, title, manager, company, l
ForEach($user in $users)
{
# properties return expected values back to console
$user.GivenName
$user.Surname
$user.title
# build XML payload
$body = @"
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:saas="SaaS.Services">
<soapenv:Header/>
<soapenv:Body>
<saas:InsertObject>
<saas:commandData>
<saas:ObjectType>Employee#</saas:ObjectType>
<saas:Fields>
<saas:ObjectCommandDataFieldValue>
<saas:Name>FirstName</saas:Name>
<saas:Value>$user.GivenName</saas:Value>
</saas:ObjectCommandDataFieldValue>
<saas:ObjectCommandDataFieldValue>
<saas:Name>LastName</saas:Name>
<saas:Value>$user.Surname</saas:Value>
</saas:ObjectCommandDataFieldValue>
<saas:ObjectCommandDataFieldValue>
<saas:Name>Title</saas:Name>
<saas:Value>$user.title</saas:Value>
</saas:ObjectCommandDataFieldValue>
</saas:Fields>
</saas:commandData>
</saas:InsertObject>
</soapenv:Body>
</soapenv:Envelope>
"@
}
例如,我希望在XML字符串中看到Lara、Croft和Explorer,但实际上我得到的是:
CN=Lara Croft,CN=Users,DC=TESTLAB,DC=local.GivenName
CN=Lara Croft,CN=Users,DC=TESTLAB,DC=local.Surname
CN=Lara Croft,CN=Users,DC=TESTLAB,DC=local.title
发布于 2020-07-11 00:56:47
我发现我必须将属性括在$()括号中。我本可以将它们赋值给工作正常的变量,但我对为什么不能直接使用它们感到困惑。
https://stackoverflow.com/questions/62837557
复制相似问题