Changing user properties in powershell

powershell

Solution

Got it figured out this morning:-

$objUser.UserFlags = 64 + 65536 # ADS_UF_PASSWD_CANT_CHANGE + ADS_UF_DONT_EXPIRE_PASSWD

Problem

I have a script that creates a user and assigns the password and the user to a group but I need to get 2 check boxes ticked - 'User cannot change password' and 'Password never expires' but for the life of me I cannot find out how to do this. My script so far is this:- ``` # Create User and add to IGNITEWEBUSERS Group $user = $domain # If more then 15 chars trim to just 15 chars $user = $user.substring(0, 15) $user = $user + "_web" # Generate Random Complex Password # Generate a password with 2 non-alphanumeric character. $Length = 10 $Assembly = Add-Type -AssemblyName System.Web $RandomComplexPassword = [System.Web.Security.Membership]::GeneratePassword($Length,2) $password = $RandomComplexPassword $group = 'IGNITEWEBUSERS' $objOu = [ADSI]"WinNT://$computer" $objUser = $objOU.Create("User", $user) $objUser.setpassword($password) $objUser.SetInfo() $objUser.description = $domain + " IIS User" $objUser.SetInfo() $OBjOU = [ADSI]"WinNT://$computer/$group,group" $OBjOU.Add("WinNT://$computer/$user") ``` That works and does what it should do but anyone know how I can set those 2 check boxes? Various threads suggest something similar to `Set-ADUser -CannotChangePassword:$true` but am not using Active Directory and this doesn't work. Your advice appreciated Paul

Original source