2013-05-24 2 views
0

OU를 거치고 모든 사용자의 모든 memberOf 그룹을 제거해야합니다. 내가 가지고있는 스크립트는 작동하지만 각 사용자가 처리 될 때 인쇄 할 수는 없습니다. 그래서 스크립트를 실행하면 작동하지만 아무것도 완료 될 때까지 아무 일도 일어나지 않습니다. 마음의 조각을 위해, 나는 현재 처리되고있는 로그인 이름을보고 싶지만, 내 인생에서 write-host 명령을 내 화면에 쓸 수는 없다.Powershell - 루프 중에 인쇄 중입니다.

$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} 
+0

방법에, 밖에있을 수 있습니다. 내가 생각하기에, 아래에 게시 된 것은 작동 할 것이고, 단지 화면에 출력되지 않는다. – bruteForcePS

답변

0

가장 확실한 방법이 될 것으로 보인다 : 여기

내 코드입니다 거의 모든 장소 I에 쓰기 호스트 명령을 배치뿐만 아니라 아래에 제안 된 어떤 시도

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

화면에 쓰지 않습니다. RemoveMemverships 메서드를 제거하면 분명히 각 사용자의 samaccountname이 인쇄되지만 어떻게 든이 메서드로 제대로 재생되지 않습니다. – bruteForcePS

+0

신경 쓰지 마세요. 감사. – bruteForcePS

+0

[대답 수락] (http://meta.stackexchange.com/a/5235)을 고려해야합니다. –