Email sturen PWS
EmailTo = “<e-mail>” $EmailFrom = “<e-mail>” $Subject = “<onderwerp>” $Body = “<inhoud>” $SMTPServer = “<server>”
Aanmeldingsgegevens verkrijgen van de gebruiker #
$Credential = Get-Credential $SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom, $EmailTo, $Subject, $Body)
SMTP client instellen #
$SMTPClient = New-Object Net.Mail.SmtpClient($SMTPServer, 587) # Gebruik poort 587 voor TLS $SMTPClient.EnableSsl = $true
Aanmeldingsgegevens gebruiken #
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Credential.UserName, $Credential.GetNetworkCredential().Password)
E-mail verzenden #
try { $SMTPClient.Send($SMTPMessage) Write-Host “E-mail succesvol verzonden” } catch { Write-Host “Er is een fout opgetreden bij het verzenden van de e-mail: $_” }
Gebruikers toevoegen via CSV in AD
Clear-Host
Import-Module ActiveDirectory
$users = Import-Csv -Delimiter ";" -Path C:\Temp\Import_ADUsers.csv
New-Item -Path C:\ -Name homefolders -ItemType Directory
ForEach ($user in $users)
{
#Declareren van de variabelen
$fullname = $user.firstname + " " + $user.lastname
$firstname = $user.firstname
$lastname = $user.lastname
$domain = "mediatech.lan"
$company = "MediaTech"
$upn = $user.lastname + $domain #User Principal Name, login name will be lastname@domainname
$ou = "OU=" + $user.ou + ",DC=mediatech,DC=lan" #Organisation Unit
$password = $user.password
$driveletter = "Z:"
$homefolder = $user.homefolder
$department = $user.department
$phone = $user.phone
$setpassword = ConvertTo-SecureString $password -AsPlainText -Force
#Testen of de homefolder al bestaat, zo niet dan aanmaken
If (-not(Test-Path($homefolder))) {
New-Item -Path "C:\homefolders\" -Name $lastname -ItemType Directory
}
#Testen of de gebruiker al voorkomt in ActiveDirectory zo niet dan aanmaken
$UserTest = Get-ADUser -Filter {sAMAccountName -eq $lastname}
If ($Usertest -eq $Null)
{
New-ADUser -Name $fullname `
-DisplayName $fullname `
-GiveName $firstname `
-SurName $lastname `
-SamAccountName $lastname `
-HomeDrive $driveletter `
-Department $department `
-OfficePhone $phone `
-Company $company `
-HomeDirectory $homefolder `
-UserPrincipleName $upn `
-Path $ou `
-AccountPassword $setpassword `
-PasswordNeverExpires $true `
-Enabled $true `
-PassThru
}
#Rechten homefolder bepalen
$rights = [System.Security.AccessControl.FileSystemRights] "Read, Write"
$inheritance = [System.Security.AccessControl.InheritanceFlags] "ContainerInherit, ObjectInherit"
$propagation = [System.Security.AccessControl.PropagationFlags]::None
$allowdeny = [System.Security.AccessControl.AccessControlType]::Allow
# Rechten toepassen op de folder
$ace = New-Object Systen.Security.AccessControl.FileSystemAccessRule `
($groupname, $rights, $inheritance, $propagation, $allowdeny)
$acl = Get-Acl -Path $path
$acl.AddAccessRule($ace)
Set-Acl $path $acl
#Groepen die verwijderd moeten worden in een array zetten en uitvoeren
$groups = @("mediatech\Personeel", "BUILTIN\Users")
foreach ($group in $groups) {
$ace = New-Object System.Security.AccessControl.FileSystemAccessRule ($group, $rights, $inheritance, $propagation, $allowdeny)
$acl = Get-Acl -Path $homefolder
$acl.RemoveAccessRuleAll($ace)
Set-Acl $homefolder $acl
}
}