Finding and modifying users with passwordneverexpires set to true


I am relatively new to Powershell and having issues. I am attempting to find all users with passwordneverexpires set to true (who match other criteria like being enabled accounts, non service accounts, etc) and then change the setting to false. Attached is a script that I am trying to use to accomplish the task. I discovered that the set-aduser cmdlet does not accept pipeline input for passwordneverexpires. Is there another way to accomplish this. I would also like the accounts that were changed to be dumped into a csv file. Thanks for any assistance.

Try removing the Select-Object cmdlet before the Set-ADUser. The output of Select-Object is System.Management.Automation.PSObject which is not accepted by any parameters on the Set-ADUser cmdlet. Whereas, Get-ADUser returns Microsoft.ActiveDirectory.Management.ADUser, which will be bound to the -Identity parameter when sent through the pipeline to Set-ADUser.

Peter, that was it. The select-object cmdlet was causing the problems. Thank you!