我有这个简单的脚本来返回给定目录中的所有xmls,列出名称和lastwritetime。
$xmlfiles = gci c:\temp\importexport\JDW*EmployeeImport*.xml |
Select-Object Name, LastWriteTime
我还希望进一步将列表过滤到包含名为密码的特定属性的列表:
$Password = $xmlfiles | Select-Xml -XPATH "//User" |
Select -expandproperty node | where {$_.password} |
Select id, firstName, lastName, statusCode
我遇到的问题是我想要将第一个GCI查询中的 Name 和 LastWriteTime 与来自XPATH查询的其他四个对象结合起来。当我尝试包含所有六个对象时,我得不到任何结果:
$xmlfiles = gci c:\temp\importexport\JDW*EmployeeImport*.xml |
Select-Object Name, LastWriteTime
$Password = $xmlfiles | Select-Xml -XPATH "//User" |
Select -expandproperty node | where {$_.password} |
Select id, firstName, lastName, statusCode
如果我删除 Select-Object Name,LastWriteTime ,我会得到结果,但没有Name和LastWriteTime。如果我将此查询与其他四个对象一起添加到最后一行,那么它也不会返回任何内容
$xmlfiles = gci c:\temp\importexport\JDW*EmployeeImport*.xml |
$Password = $xmlfiles | Select-Xml -XPATH "//User" |
Select -expandproperty node | where {$_.password} |
Select Name, LastWriteTime, id, firstName, lastName, statusCode
我也尝试了$ xmlfiles.Name和$ xmlfiles.LastWriteTime。
这是xml
<EnterpriseDocument InterfaceName="Employee Interface">
<BusinessUnitList>
<BusinessUnit id="1234">
<User id="1234567" password="anypassword" firstName="John" lastName="Doe">
<RoleList><Role id="Associate"></Role></RoleList>
<OrgList><Organization id="0289"/></OrgList>
</User>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
有什么想法吗?
由于