}

PowerShell examples

  • Move all mailboxes from Server1 to a target database on Server2.
    Get-Mailbox -Server Server1 | Move-Mailbox -TargetDatabase Server2Executives
  • Get all users from the OU "Gemigreerde Accounts" who don't have UMRAMAILBOXMIGRATED in their Notes attribute and disconnect the mailbox from the user object.
    get-user -organizationalUnit "Gemigreerde Accounts" | where-object{$_.Notes -ne "UMRAMAILBOXMIGRATED"} | disable-Mailbox
  • Gets all processes which consume more than 400 handles and displayes them in a formatted list
    Get-Process | Where { $_.HandleCount -gt 400 } | Format-List
  • Get all users from the OU "Gemigreerde Accounts" and create a mailbox for these existing users in a database on EXC01, OWA is disabled. Perform the operation on dc01.tools4ever.local
    get-user -organizationalUnit "Gemigreerde Accounts" | where-object{$_.RecipientType -eq "User"} | Enable-Mailbox -Database "EXC01Mailbox Database" -DomainController "dc01.tools4ever.local"
  • Get all groups from the OU "Groepen" and set them as mail enabled with default settings.
    get-group -organizationalUnit "Groepen" | where-object{$_.RecipientType -eq "Group"} | Enable-DistributionGroup -DomainController "dc01.tools4ever.local"
  • Configures the mailbox to be hidden from the GAL and unable to receive any data.
    Set-Mailbox -Identity "CN=user,OU=Office,DC=tools4ever,DC=local" -HiddenFromAddressListsEnabled $true -MaxReceiveSize 0KB
  • Adds full access to janea to the mailbox specified by the identity parameter.
    Add-MailboxPermission -Identity "CN=user,OU=Office,DC=tools4ever,DC=local" -AccessRights FullAccess -user "janea"
  • Get mailbox permission from user account.
    get-Mailboxpermission -identity "CN=Arnout van der Vorst,OU=Gemigreerde Accounts,OU=DC=tools4ever,DC=local"
  • Get AD permissions (send-as/receive-as) from user account.
    get-ADpermission -identity "CN=Arnout van der Vorst,OU=Gemigreerde Accounts,DC=tools4ever,DC=local"
  • Get all users from the OU "Gemigreerde Accounts" and set the Notes attribute to an empty string
    get-user -organizationalUnit "Gemigreerde Accounts" | set-user -Notes "" Configures the mailbox with new proxyAddresses Set-Mailbox -Identity "CN=user,OU=Office,DC=tools4ever,DC=local" -ProxyAddresses "SMTP:a.a@a.com,smtp:a@a.com"
  • Adds the Full Access permission to a user's mailbox object
    add-MailboxPermission -identity "CN=Arnout van der Vorst,OU=Gemigreerde Accounts,DC=tools4ever,DC=local" -user "CN=Ab Vos,OU=Gemigreerde Accounts,DC=tools4ever,DC=local" -AccessRights FullAccess
  • Removes the Full Access permission to a user's mailbox object
    remove-MailboxPermission -identity "CN=Arnout van der Vorst,OU=Gemigreerde Accounts,DC=tools4ever,DC=local" -user "CN=Ab Vos,OU=Gemigreerde Accounts,DC=tools4ever,DC=local" -AccessRights FullAccess -Confirm:$false
  • Hides the mailbox from Address Book
    set-Mailbox -identity "CN=Arnout van der Vorst,OU=Gemigreerde Accounts,DC=tools4ever,DC=local" -HiddenFromAddressListsEnabled:$true
  • Multiple hide from Address Book
    get-user -organizationalUnit "Disabled Accounts" | set-Mailbox -HiddenFromAddressListsEnabled:$true
  • Get current domain, forest and PDC domain controller
    [System.DirectoryServices.ActiveDirectory.Domain]::getcurrentdomain() | Ft -property Name,Forest,PdcRoleOwner
  • Get PDC
    [System.DirectoryServices.ActiveDirectory.Domain]::getcurrentdomain().PdcRoleOwner.Name.ToString()
  • Get ACL on directory
    (get-acl c:data).access | ft
  • Get mailbox sizes (2007)
    Get-MailboxStatistics -Database exchangeDatabase | sort $_.TotalItemSize |FT DisplayName,ItemCount,TotalItemSize
  • Connect to Exchange 2003 WMI namespace for queries
    $MailboxInfo=get-wmiObject -class Exchange_Mailbox -namespace ROOTMicrosoftExchangeV2 -computername VM-WS03-AVO-001
  • Use ADSI to get AD objects
    $UserObject=[ADSI]"LDAP://CN=avdvorst2,OU=Baarn,OU=Offices,OU=Tools4ever,DC=t4evmdemo,DC=local"
  • Test if multi-value AD attribute (memberOf) contains a certain entry
    $UserObject.memberOf.contains("CN=Lyon_Users,OU=Groups,OU=Tools4ever,DC=t4evmdemo,DC=local")
  • Add/remove entry to user proxyAddresses
    $UserObject.proxyAddresses.remove("") or $UserObject.proxyAddresses.insert("")
  • Get the base OU path where an Active Directory object exists
    $UserObject.psbase.Parent.distinguishedName.ToString()
  • Get the number of values in a multi-value attribute (memberOf/proxyAddresses)
    $UserObject.proxyAddresses.psbase.Count

SAP koppeling met Active Directory

Bij 1 van grootste ziekenhuizen van Nederland heb ik recentelijk een SAP koppeling naar Active Directory opgeleverd met behulp van UMRA van Tools4ever. Het scenario is dat SAP elke x minuten een feed aanleverde in CSV formaat met alle wijzigingen, die vervolgens in Active Directory verwerkt moeten worden. Met behulp van specifieke codes voor bepaalde mutaties (instroom, doorstroom, uitstroom) weet de UMRA engine welke business logica uitgevoerd moet worden.

Lees meer

User- en toegangsbeheer in cloud applicaties: een uitdaging

Cloud applicaties als Google Apps, Salesforce.com, GoToMeeting, Office 365, itslearning, AFAS Online en RAET Online worden steeds meer ingezet in het bedrijfsleven. Bij cloud applicaties is het lastiger om exact te weten wie toegang heeft tot welke applicaties en data. Leveranciers van cloud oplossingen geven helaas weinig prioriteit aan het ontwikkelen van beter beheer van user accounts en toegangsrechten in hun applicaties.

Lees meer

De vooroordelen van Single Sign On

Veel IT managers en Security Officers zijn terughoudend als het gaat om het implementeren van een Single Sign On (SSO) oplossing, hoewel de voordelen van SSO duidelijk zijn. Namelijk onder andere gebruikersgemak voor de eindgebruiker en minder wachtwoord reset calls naar de helpdesk. De terughoudendheid ten aanzien van SSO wordt in de hand gewerkt door een aantal vooroordelen over SSO.

Lees meer

RBAC: sleutelrol, beheer en evolutie

Veel organisaties zijn bezig met RBAC in meer of mindere vorm; verkenning, project, implementatie, vulling of beheer. We zien dat dit gestuurd wordt door normen als NEN7510, waarin voornamelijk staat beschreven dat je moet kunnen aantonen waarom iemand een autorisatie nodig heeft en hoe deze tot stand is gekomen. Inmiddels weten we dat RBAC niet een heilige graal is, maar dat veel implementaties stuk lopen door de te grote scope en complexiteit.

Lees meer

Single Sign On met terminal emulatie (VAX64, AS/400, Linux, SSH)

We zien dat veel organisaties steeds bewuster bezig zijn met security, waarschijnlijk mede ingegeven door regelgeving zoals NEN7510 en ICT-audit trajecten. Naast het autorisatiebeheer binnen applicaties, waar we al verschillende oplossingen voor bieden zijn we ook actief op het authenticatie-vlak, namelijk met een Single Sign On (SSO) oplossing.

Lees meer