powershell中的ForEach语句



我正在尝试运行以下命令。它应该从exchange服务器获取所有用户邮箱并运行脚本。但当我运行它时,它只对第一个邮箱有效,然后停止。我希望为每个邮箱运行脚本。有人能告诉我我缺了什么吗?

$mailboxes = Get-EXOMailbox -resultsize unlimited -RecipientTypeDetails usermailbox
Foreach($mailbox in $mailboxes){
.graph-PopulateContactsFromCSV.ps1 -Mailbox $mailbox.UserPrincipalName -ClientSecret $clientSecret -ClientID $clientID -TenantID $tenantID -CSVPath $csvPath
}

继续我的评论。

试试这个(根据需要进行重构(:

Get-EXOMailbox -resultsize unlimited -RecipientTypeDetails usermailbox | 
ForEach-Object {.graph-PopulateContactsFromCSV.ps1 -Mailbox $PSItem.UserPrincipalName -ClientSecret $clientSecret -ClientID $clientID -TenantID $tenantID -CSVPath $csvPath}

我不想手边有ADDS,但为本地用户做这件事:

Get-LocalUser -Name '*' | 
ForEach-Object {$PSitem.Name}
# Results
<#
Admi..
Da..
Def..
Guest
L..
WDAGUtilityAccount
#>

最新更新