Tags

Howto (51) Free Software (35) Powershell (33) Windows Server (23) AD (16) Hyper-V (16) Exchange (13) Office (13) Group Policy (10) Windows Server 2012 (9) Scripts (7) Symantec BE (5) Windows 8 (5) Cisco (4) TMG (4) Terminal Server (4) Cluster (3) HP (3) RDS (3) UAG (3) Citrix (2) DC (2) DNS (2) IE10 (2) OpenID (2) PKI (2) SCVMM (2) Windows Live (2) iLO (2) Backup (1) DPM (1) Fileserver (1) IE (1) SQL; DPM (1) Security (1) Sharepoint (1) Switch (1) VMWare (1) Veeam (1)

dinsdag 2 juli 2013

AD gebruikers aanmaken aan de hand van een CSV bestand en een Powershell script

Stappen:

  1. Pas het Excel bestand aan en sla deze op als CSV
  2. Converteer CSV bestand naar UTF8 formaat
  3. Gebruik Powershell script om de gebruikers aan te maken
  

Stap 1:

 
In de eerste regel van Excel staan de kolomnamen die ook in het Powershell script terug komen.
De Excel sheet heb ik enigszins moeten aanpassen zodat er kolommen ontstonden met bijvoorbeeld: gebruikersnaam  conventie (voorletter.geboortenaam) en DisplayName
 
Hier de door mij gebruikte eerste Excel rij:
 
PERSONEELSNUMMER;GivenName;1ste_letter_GN;Gebruikersnaam_tussenvoegsel;Geboorte_SN;Gebruikersnaam_met_spaties;Gebruikersnaam;UPN_Suffix;UPN;Title;Mobiel;Afdeling;Locatie;Preffered_SN;Space;DisplayName;EMAILADRES;Password
 
In onderstaand blog kun je zien hoe je een random wachtwoord kunt genereren:
 
 

Stap 2:

 
Het Powershell script maakt gebruik van het import-csv commando, echter importeert deze de csv in ASCII formaat.
Dat kan onderstaand resultaat opleveren:
 
 
Het CSV bestand zal daarom eerst geconverteerd moeten worden naar UTF8 formaat.
Dat kan gelukkig makkelijk doordat het Get-Content (cat) commando bestanden uitleest in UTF8 formaat.
 
Hierdoor hoef je alleen de output weg te schrijven naar een nieuw csv bestand, dat dan in UTF8 formaat is.
 
PS C:\SCRIPTS\CADU>cat NewUsers.csv > NewUsers2.csv
 
 

Stap 3:

 
Gebruik CreateADUsers.ps1 en pas deze eventueel aan:
 
 
# CreateADUsers.ps1
Set-ExecutionPolicy Unrestricted
Import-Module ActiveDirectory

 $csvpath = "c:\Scripts\CADU\NewUsers.csv"
$date = Get-Date
$logfile = "c:\Scripts\CADU\create_AD_users.log"
$Bedrijf = "TBedrijf"
$i=0
 
 # Specify parent container for all new users.
$OU =  "OU=Users,OU=TBedrijf,DC=test,DC=local"

 Import-Csv $csvpath -Delimiter:";" |  ForEach-Object {
$sam = $_.Gebruikersnaam
     Try   { $exists = Get-ADUser -LDAPFilter "(sAMAccountName=$sam)" }
     Catch { }
     If(!$exists)
     {
     $Password = $_.Password
New-ADUser $sam -GivenName $_.GivenName -Surname $_.Preffered_SN -DisplayName $_.DisplayName -Company $Bedrijf -Department $_.Afdeling -Mobilephone $_.Mobiel -Title $_.Title -Office $_.Locatie -EmailAddress $_.EmailAdres -UserPrincipalName $_.UPN -passthru |
ForEach-Object {
$_ | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $Password -Force)
$_ | Enable-ADAccount }

 # Set an ExtensionAttribute
       $dn  = (Get-ADUser $sam).DistinguishedName
       $ext = [ADSI]"LDAP://$dn"
       $ext.SetInfo()
       Move-ADObject -Identity $dn -TargetPath $OU

       $newdn = (Get-ADUser $sam).DistinguishedName
       Rename-ADObject -Identity $newdn -NewName $_.DisplayName

       $output  = $date.ToString() + " CREATED - Naam: " + $_.DisplayName + " (login: "
       $output += $_.UPN + " / " + $_.Password + ")"
       $output | Out-File $logfile -append
      }
      Else
      {
       $output  = $date.ToString() + " SKIPPED - Naam: " + $_.DisplayName + " (inlognaam: "
       $output += $_.UPN + ")"
       $output | Out-File $logfile -append
}
"----------------------------------------" + "`n" | Out-File $logfile -append
}
 
 
Persoonlijk vind ik het makkelijk om Powershell ISE in Administrative mode op te starten en het script in te laden.
 
 
 
 
 
 

Unsupported VM Configuration SCVMM 2012 (error 13932)

In SCVMM de melding van een Unsupported VM Configuration: oorzaak error 13932: “register the share to the cluster”.
 
 
 
Error (13932)
The file \\SCVMM01.test.Local\MSSCVMMLibrary\ISO\SW_DVD5_11.ISO is in a share which is not registered to the cluster TS-HQ-CL01.testLocal.
 
Recommended Action
Register the share to the cluster, and then try the operation again.
 
Om de foutmelding weg te krijgen, in Hyper-V manager de ISO loskoppelen:
 
 

Irfanview batch conversie van jpg bestanden

JPG bestanden kunnen een enorme hoeveelheid opslagcapaciteit opslokken.
Zowel de Megapixels als het aantal foto’s die gebruikers nemen, neemt alleen maar toe.
 
Ik gebruik Irfanview al jaren om af en toe alle JPG bestanden op de fileserver te verkleinen.
 
Test eerst de instellingen op een test map, alvorens je alle JPG bestanden op de hele file server aanpakt. De instellingen kunnen namelijk ook per versie van Irfanview wel eens verschillen.
 
Irfanview batch conversie (minimale versie 4.23!!!)
 
 
Advanced options:
 
 
Met Treesize van Jam-software kun je precies zien hoeveel opslagcapaciteit de jpg bestanden innemen.