我尝试开发增量密码更改PowerShell脚本,就像这样
输入csv文件:D:\ pws \ newpws.csv
userID,userIdentity,passwd
201206151300057,John.Doe@contoso.com,pa$$worD1
201206151301452,Tommy.Toe@contoso.com,pa$$worD2
201206151302871,Vince.Voe@contoso.com,pa$$worD3
201206151305021,William.Woe@contoso.com,pa$$worD4
201206151306433,Xerxes.Xoe@contoso.com,pa$$worD5
201206151346790,Yvonne.Yoe@contoso.com,pa$$worD6
输出csv文件:D:\ pws \ lastprocessedId.csv
lastID
201206141186509
到目前为止我只有这个:
import-csv D:\pws\newpws.csv | foreach {
Set-MSOnlineUserPassword -Identity $_.userIdentity -Password $_.passwd -ChangePasswordOnNextLogon:$true -Credential $cred
}
我想修改此脚本,以便它只处理csv行:
脚本执行完成后,应使用newpws.csv中最后一行的userID更新lastprocessedId.csv中的lastID
答案 0 :(得分:1)
您需要在管道的Where
阶段之前加入Foreach
过滤器,例如:
import-csv D:\pws\newpws.csv |
where {$_.userID -gt $lastID -and ...} |
foreach { Set-MSOnlineUserPassword -Identity $_.userIdentity `
-Password $_.passwd -ChangePasswordOnNextLogon:$true -Credential $cred
}