Powershell - 在循环期间打印出来

时间:2013-05-24 16:53:09

标签: powershell scripting active-directory

我必须通过OU并删除所有用户的所有memberOf组。我的脚本有效,但我无法在每个用户处理时打印出来。因此,当我运行脚本时,它正常工作,但在完成之前没有任何反应。我想知道正在处理的当前登录名,但我不能,在我的生活中,使用write-host命令写入我的屏幕。

这是我的代码:

$users = get-aduser -filter * -searchbase "ou=disabled,dc=corp,dc=test,dc=org" | Sort-Object -Property Name

Function removeMemberShips {
    Param( [string] $SAMAccountName)

    $user = get-aduser $SAMAccountName -properties memberof

    $userGroups = $user.memberof
    $userGroups | %{get-adgroup $_ | Remove-ADGroupMember -confirm:$false -member $SAMAccountName}
    $userGroups = $null
}
$users | %{removeMemberShips $_.SAMAccountName}

1 个答案:

答案 0 :(得分:0)

最明显的方式似乎是:

$users | %{
    removeMemberShips $_.SAMAccountName
    Write-Host $_.SAMAccountName
}