【问题标题】:Powershell Export to Clicml from ForEachPowershell 从 ForEach 导出到 Clicml
【发布时间】:2019-09-27 12:57:55
【问题描述】:

我尝试从我的 powershell 脚本的这一部分获取结果到 Clixml
我只是 powershell 的初学者,所以我在使用数组时遇到了一些问题。

我无法将此脚本的结果写入文件。

$groupname = "Domain Admins"
$users = Get-ADGroupMember -Identity $groupname | ? {$_.objectclass -eq "user"}
foreach ($activeusers in $users) { Get-ADUser -Identity $activeusers | ? {$_.enabled -eq $true} | 
select-object SamAccountName  | Sort-Object -Descending | select-object SamAccountName }

这是用于导出到 Clixml 的代码

Export-Clixml -Path 'C:\TEMP\CurrentDomainAdmins3.xml'

【问题讨论】:

  • Export-CliXml 调用替换你管道的第二个[重复和不需要的]Select-Object 部分。

标签: powershell


【解决方案1】:

您没有将foreach () {} 的结果分配给任何变量,例如$results = foreach () {} 并且您不能将这种循环样式的输出通过管道传输到另一个 cmdlet。

我认为您根本不需要循环;你可以这样重写它:

$groupName = 'Domain Admins'
Get-AdGroupMember -Identity $groupName | 
    where-Object -Property ObjectClass -eq -Value User | 
    Get-AdUser |
    Where-Object -Property Enabled |
    Export-Clixml -Path 'C:\TEMP\CurrentDomainAdmins3.xml'

或者为了更具交互性的风格:

AdGroupMember 'Domain Admins' | ? ObjectClass -eq User | AdUser | ? Enabled

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 2022-01-03
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    相关资源
    最近更新 更多