Skip to content
ICT_Kennisbank_2025

Windows Server

1
  • Beheer Topdesk

Cisco

4
  • Minecraft
  • Voorbeeld Netwerktekening
  • Uitwerking Oefenexamen Correct v Leeg
  • Commando Cheat Sheet S5

Powershell

3
  • PWS Oefenexamen – voor + na
  • Email sturen PWS
  • Benodigde kennis Powershell

Python

3
  • UserProgramma.py
  • Dobbelsteen Opdracht
  • Eindopdracht Python Atletiek Voorbeeld

SQL

2
  • Handboek SQL
  • Werkboek Databases V3.2 2021

Flowchart

2
  • Stroomschema
  • Flowchart voorbeelden

SEC

1
  • Oefen SEC
View Categories
  • Home
  • Docs
  • SQL/Python/PWS
  • Powershell
  • Email sturen PWS

Email sturen PWS

2 min read

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
    }
}
            
Updated on January 6, 2025

What are your Feelings

  • Happy
  • Normal
  • Sad
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
PWS Oefenexamen – voor + na
Table of Contents
  • Aanmeldingsgegevens verkrijgen van de gebruiker
  • SMTP client instellen
  • Aanmeldingsgegevens gebruiken
  • E-mail verzenden

All rights reserved