Niektórzy użytkownicy nie mieli wpisanych parametrów określających nazwę katalogu domowego, inni nie mieli przypisanego profilu mandatoryjnego na swoje konta. Dlatego napisałem ten skrypcik który poprawił błędy:
$strRoot = "LDAP://OU=studenci,dc=pjwstk,dc=edu,dc=pl"$logname = "blo";$logname += get-date -format "yyyyMMdd_hhmmss";$logname +=".log";$Root = New-Object DirectoryServices.DirectoryEntry $strROOT$Searcher = New-Object DirectoryServices.DirectorySearcher$Searcher.SearchRoot = $root#zla sciezka i home$searcher.Filter = "(&(";$searcher.Filter+= "(&(objectClass=User)(name=s*)(!(name=sT*))(!(homedrive=*))(!(objectClass=Computer)))";$searcher.Filter+= "(&(objectClass=User)(name=s*)(!(name=sT*))(!(homedirectory=*))(!(objectClass=Computer)))";$searcher.Filter+= "))";$usersDir = $searcher.findAll(); $usersDir | out-file $lognameforeach ($user in $usersDir){ $de = New-Object DirectoryServices.DirectoryEntry $user.Path $de.homedrive="z:" $homename="\\zet\"+$user.Properties.name; $de.homedirectory=$homename $de.CommitChanges()}#Szukamy osoby bez profilu i wpisujemy profil mandatoryjny$searcher.Filter = "(&(";$searcher.Filter+= "(&(objectClass=User)(name=s*)(!(name=sT*))(!(profilePath=*))(!(objectClass=Computer)))";$searcher.Filter+= "))";$usersPro = $searcher.findAll(); $usersPro | sort-object -property Properties.name$usersPro | out-file $lognameforeach ($user in $usersPro){ $de = New-Object DirectoryServices.DirectoryEntry $user.Path $de.profilepath="c:\documents and settings\mandatory" $de.CommitChanges()}
Remember Me