Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
johnnyonetime
Apr 2, 2010
I have an OU of users that I would like to set the passwords to never expire using Powershell. There are a LOT of google results on how to do this but I have had zero luck getting the script to achieve this. Can a powershell guru take a look and tell me what's wrong with this?

code:
$Never_Expire=0x10000
 
$objou = New-Object System.DirectoryServices.DirectoryEntry("LDAP://ou=MyUsers,dc=example,dc=com")
$objSearcher = New-Object System.DirectoryServices.directorySearcher
$objsearcher.searchroot = $objou
$objsearcher.filter = '(&(objectCategory=User)(Objectclass=user)(!isCriticalSystemObject=*))'
$objsearcher.searchscope = "subtree"
 
$results = $objsearcher.findall()
 
foreach ($result in $results) {
  $user = [adsi]$result.path
  $value = $user.useraccountcontrol.item(0)
  $value = $value -bor $Never_Expire
  $user.useraccountcontrol = $value
  $user.name
  $user.setinfo()
}
Bonus Question! I'm a new powershell user and can already tell it is awesome. What is the easiest way to have a nice little repository of scripts I can pull up in Powershell for day-to-day activities?

Adbot
ADBOT LOVES YOU

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply