I had to change the logon script for a select group of users who had a particular logon script configured in their Active Directory (AD) profiles. I discovered that this task is easy to accomplish using Quest Software’s ActiveRoles Management Shell for Active Directory, which provides a free a set of cmdlets for AD. You just need to use the Get-QADUser cmdlet with the -LogonScript argument to list all users configured with the old script, then pipe the results to the Set-QADUser cmdlet with the -LogonScript argument to replace the old logon script with the new one. The command looks like
Get-QADUser -LogonScript OldFile | Set-QADUser -LogonScript NewFile
where OldFile is the old logon script and NewFile is the new logon script. You can download the free ActiveRoles cmdlets at Free PowerShell Commands for Active Directory.