Error log: Event 1196, Failover Clustering


Ik had al een tijdje hele vervelende errors langs zien komen in mijn hyper-v logfiles maar gewoon nog geen tijd gehad om hier eens in te duiken. Door wat problemen die we deze week hadden gingen deze errors van de medium prio naar zeer hoge prio. Ik wist namelijk niet zeker of de problemen te maken hadden met errors die ik had gezien. (bleek uiteindelijk niet de oorzaak te zijn, maar een klapperende switch)

Ik vond echter ook meteen de oplossing voor de errors in mijn logs en dit leek me toch een blogpost waard! :)

Dit waren de errors die ik in de logfiles zag…

De melding in de logfiles was als volgt:

Cluster network name resource ‘Cluster Name’ failed registration of one or more associated DNS name(s) for the following reason:
This operation returned because the timeout period expired.

Mijn valkuil is hier dat ik als eerste checkte of ik het “Cluster Name” in mijn geval “backend.macfacts.org” te resolven was en dit werkt prima. Dus ik begreep deze melding niet.

De volgende melding deden mij echter wel het spreekwoordelijke “belletje rinkelen”

Er kwam namelijk, enkele momenten voordat de bovenstaande melding werdt gegenereerd een warning in de log te staan, die het volgende vertelde: (voor de warning zie screendump)

Toen ik ging kijken zag ik de volgende beschrijving

Cluster network name resource ‘Cluster Name’ failed to register the name ‘backend.macfacts.org’ over adapter ‘TEAM-CLUSTER’. The DNS server could not be contacted. The error code was ‘This operation returned because the timeout period expired. (1460).’ Ensure that a DNS server is accessible from this cluster node. The DNS registration will be retried later.

Door deze melding werd het me al snel duidelijk dat ondanks het feit dat de hyper-v host deze naam keurig kon resolven dit nog niet betekende dat mijn cluster netwerk dit ook kon. Het bleek namelijk dat het cluster netwerk (een team van twee netwerkkaarten) geen DNS server gespecificeerd had. Nadat ik de DNS server had toegevoegd was het probleem opgelost en zijn mijn logs weer keurig schoon..

En van schone logs wordt een systeembeheerder altijd vrolijk van! :)

PowerShell Script: Check de Uptime van je computer


Ik ben bezig met de PowerShell Scripting Games en ik leer hier ongelofelijk veel van. Mocht je dus geinteresseerd zijn in PowerShell is dit een zeer leuke manier om bezig te zijn met PowerShell en je krijgt geweldige feedback van verschillende PowerShell experts! Een echte aanrader.

Vandaag ben ik echt een flinke tijd bezig geweest met een opdracht en ik dacht echt dat ik er niet uit zou komen. Gelukkig is het internet geduldig en heeft me uiteindelijk zeer goed geholpen om toch iets te kunnen indienen.

De opdracht was simpel; Geef met behulp van het cmdlet Get-WMIObject aan wat de uptime van je server/computer is. Als OSX gebruiker vind ik het eigenlijk niet te begrijpen dat dit niet eenvoudig in PowerShell mogelijk is, aangezien op een Mac het terminal commando ‘uptime‘ gewoon beschikbaar is en ik dit regelmatig gebruikte.

Met PowerShell moeten we voorlopig nog een apart script gebruiken.

Ik heb nu zo’n script gemaakt wat ik ook echt ga distribueren over alle servers op mijn werk. Ik vind het handig om de uptime van de servers in de gaten te houden.

Het script ziet er als volgt uit:

# ----------------------------------------------------------------
# Script Script to give you the uptime of your server/computer
# Author: John van Leeuwen
# Date: 15-04-2012
# ----------------------------------------------------------------

# Declare Variables
$wmi = Get-WmiObject -Class Win32_OperatingSystem
$computername = Get-Content env:computername
$boottime = $wmi.ConvertToDateTime($wmi.LastBootUpTime)

#Command
Write-host ""
Write-host $computername is online for:
$uptime = $wmi.ConvertToDateTime($wmi.LocalDateTime) - $wmi.ConvertToDateTime($wmi.LastBootUpTime)
$uptime | Format-Table -autosize -Property Days,Hours,Minutes
Write-host $computername was started on:
$boottime

Het was voor het eerst dat ik heb gewerkt met het Get-WMIObject en ik heb nog maar een heel klein beetje gezien van de mogelijkheden die dit cmdlet heeft.

Mijn leerpunten zaten vooral in het gebruik van variabelen en de manier hoe dit cmdlet werkt. Ik denk dat ik hier nog veel mee ga spelen, want dit kan een systeembeheerder heel veel inzicht geven in hoe je servers zich gedragen.

Je kan deze code gewoon copy pasten en zelf gebruiken. Je kan het script eventueel ook hier downloaden.

Mocht je tijdens het gebruik tegen puntjes aanlopen hoor ik dat graag!

Hoe verplaats je een Exchange 2010 Database en/of Logfiles


Het kan wel eens noodzakelijk zijn om de Database en of Logfiles te verplaatsen naar een andere locatie binnen je Exchange omgeving. Dit is opzich eenvoudig te doen maar je moet wel even weten hoe je dit aanpakt.

Wanneer je Exchange gebruikt in een DAG omgeving is het goed te weten dat dit net iets anders gaat als op een “normale” Exchange omgeving. Ik bespreek eerst hoe je dit aanpakt in een Exchange omgeving zonder DAG.

LETOP: Doe dit gedurende serviceuren aangezien Exchange tijdens de move niet beschikbaar is aangezien de database niet gemount staat.

  • Open de EMC management console en ga naar “Organization Configuration” en selecteer “Mailbox”.
  • Als het goed is kom je standaard direct in tab “Database Management” terecht, zo niet selecteer de juiste Tab.
  • Selecteer de database die je wilt verhuizen en klik op “Move Database Path”.
  • Er wordt nu een wizard opgestart en die je kunt volgen en waar je de nieuwe locaties van de database/logfiles kunt opgeven.
  •  
    Het ligt eraan hoe groot de database is maar dit kan best lang duren! Het belangirjk om wat geduld te hebben gedurende deze fase! :)

    Wanneer je de logfiles of database wilt verhuizen in een DAG omgeving moeten er nog wat extra stappen worden genomen.
     
    Dit gaat als volgt:

  • Open de EMC management console en ga naar “Organization Configuration” en selecteer “Mailbox”.
  • Als het goed is kom je standaard direct in tab “Database Management” terecht, zo niet selecteer de juiste Tab.
  • Vervolgens verwijder je, van de database die moet worden verhuisd, de database copie. Als je dit niet doet krijg je namelijk geen mogelijkheid om de database/logfiles te verhuizen.
  • Klik nu op “Move Database Path”. Deze is nu te vinden in de Actions Pane.
  • Er wordt nu een wizard opgestart en die je kunt volgen en waar je de nieuwe locaties van de database/logfiles kunt opgeven.
  • Als de wizard is afgelopen moet je weer de Database Copy aanzetten om je high available omgeving weer in sync te brengen. Je doet dit ook vanuit de Actions Pane.
  • Deze synchronisatie kan ook flink wat tijd kosten, met een refresh van de EMC is de voortgang goed te volgen.

    Ik heb dit stappenplan gisteren uitgevoerd en “It works like a charm”!
    Daarnaast moet ik @alexdejongcom bedanken voor zijn hulp bij dit onderdeel! Thanks buddy! :)

    PowerShell Basics – Deel 1

    Als je vaker mijn blog leest weet je dat ik PowerShell aan het leren ben. Ik ben nog echt een “noob” en het is dus belangrijk om de basis goed te kennen. Hier zijn echt gigantisch veel resources voor op het internet te vinden. Misschien dat ik in een aparte blog nog ga aangeven welke sites/blogs ik hiervoor gebruik. Maar deze post staat in teken van de “basics”.

    Om PowerShell goed te begrijpen moet je de basics goed kennen. Zonder een goede basis ga je veel zaken niet begrijpen en ben je uiteindelijk alleen maar het copy/pasten van het internet, en creëer je zelf niks. Dat is precies wat ik niet wil, dus ik neem jullie de komende blogs mee in wat ik de afgelopen tijd aan basics heb geleerd.

    Dit komt allemaal rechtstreeks uit mijn aantekeningen van webcasts en artikelen die ik heb gelezen. Dus ik ga puntsgewijs door deze aantekeningen heen.

    Get-Help

    Get-Help is een van de belangrijkste cmd-lets in PowerShell. Deze module is echt zeer uitgebreid en lijkt erg op de man-pages die je misschien kent uit de Unix hoek. Je hebt een aantal mogelijkheden om uitgebreide informatie op te halen over de cmd-lets die je wilt gebruiken.

    * Ik ga er even voor het voorbeeld uit dat we meer informatie willen over het cmd-let Get-Process

    De eerste optie die je eigenlijk ook meteen het meest gebruikt is:

      Get-Help Get-Process


    Dit geeft een uitgebreide help functie waar je echt het meeste al uit kan halen.

    Wat ik zelf echt geweldig vind is dat je ook kan kijken naar een aantal voorbeelden hoe je de cmd-let kan gebruiken. Dit doe je op de volgende manier:

      Get-Help Get-Process -examples

    Je hebt nog een aantal andere opties, maar die gebruik ik zelf niet zo heel veel. De opties zijn:

      Get-Help Get-Process -full
      Get-Help Get-Process -Detailed

    De help functie is natuurlijk gigantisch handig en die heb je ook echt nodig, zeker als je een PowerShell beginner bent. Naast google, is Get-Help je beste vriend!

    Get-History

    Get-History is ook zeer makkelijk in het dagelijks gebruik van PowerShell, zeker wanneer je wat complexere commando’s wil geven. Dit cmd-let zorgt ervoor dat je eenvoudig weer beschikking hebt over je eerder gegeven commando’s.

    Door eenvoudig het commando Get-History te geven krijg je het volgende resultaat:

      Get-History

    Nu je weet welke commando’s je allemaal hebt gegeven is het misschien ook handig om te weten hoe je de commando’s opnieuw kunt gebruiken. Dit doe je door middel van een ander cmd-let namelijk: Invoke-History

      Invoke-History

    Zoals je hebt kunnen zien in het bovenstaande schermafdruk, staan er allemaal nummers voor de commando’s. Deze nummers kun je gebruiken in combinatie met het cmd-let Invoke-History, dat ziet er als volgt uit:

    Het bovenstaande commando geeft dus eigenlijk het commando: cls (clearscreen). Normaal gesproken gebruik je dit dus voor de wat ingewikkelde commando’s. Dit is gewoon als voorbeeld.

    WhatIf

    WhatIf is echt een geniale hulp. Wanneer je, zoals ik, niet helemaal zeker bent van de PowerShell commando’s die je geeft, heeft PowerShell een soort bescherming ingebouwd. WhatIf doet zijn naam echt eer aan!

    Stel je hebt een aantal keer per ongeluk notepad opgestart, maar in plaats van alles met het handje uit te zetten kan je dit ook eenvoudig doen met een PowerShell commando namelijk; Stop-Process. Het commando om notepad uit te zetten ziet er dan als volgt uit:

      Stop-Process notepad

    Echter dit ziet er wel erg definitief uit, ik zou dus toch echt willen weten of dit alleen notepad uitzet. Hier komt WhatIf bij kijken. Dit ziet er als volgt uit:

    Je ziet hier dus heel erg mooi dat WhatIf aangeeft dat wanneer je deze operatie uitvoert het process notepad stopt. Ik kan dit dus redelijk zorgeloos uitvoeren aangezien dit alleen maar effect heeft op notepad en op niks anders.

    Er komen nog veel meer van dit soort beginners posts hier, hou macfacts.org dus in de gaten en mochten jullie vragen en/of opmerkingen hebben hoor ik dat natuurlijk graag!

    Kemp Technologies Webinar: Loadbalancing

    Afgelopen maandag had ik mezelf ingeschreven voor een webinar over Loadbalancing georganiseerd door Kemp Technologies. Ik maak zelf gebruik van Kemp loadbalancers dus het was voor mij zeer relevant. Helaas was het wel erg gericht op sales en marketing, maar soms blijkt dit, ook voor een systeembeheerder/nerd toch nog steeds erg interessant te zijn.

    Ik ben echt een fan van de Kemp producten, het is makkelijk te configureren en de support afdeling is echt subliem! Twee belangrijke “selling points” als je het mij vraagt.

    Hier een paar van mijn aantekeningen die ik tijdens deze sessie had gemaakt:

    Wanneer moet je gaan denken aan loadbalancing?

  • Wil je goede performance?
  • Wil je betrouwbaarheid?
  • Wil je hoge beschikbaarheid?
  •  
    Als je de bovenstaande vragen kunt beantwoorden met “Ja” is loadbalancing iets om serieus te overwegen.

    Natuurlijk moet je goed nadenken over hoeveel impact een verstoring van bepaalde dienst of service heeft op je bedrijf. Zo kan een wiki voor de afdeling ICT belangrijk zijn, maar weer niet belangrijk genoeg om hier redundancy en loadbalancing op toe te passen. Dat is het je gewoon niet waard.

    Echter je Exchange omgeving is zeer belangrijk en deze moet altijd beschikbaar zijn want dit kan het bedrijf een hoop geld kosten wanneer mail, contacten en agenda niet beschikbaar zijn. In zo’n geval is loadbalancing absoluut een must!

    Waar kan je precies loadbalancing voor gebruiken:

  • Webservices, denk hierbij aan HTTP(S) verkeer, Firewalls en Proxies
  • Exchange, IMAP, POP, SMTP verkeer
  • Terminal Services, specifiek voor Remote Access
  • DNS, LDAP, FTP
  •  
    Een andere mooie feature welke de Kemp Loadbalancer bied  is SSL Offloading/SSL Acceleration. Voordelen van het laten decrypten/encrypten van SSL verkeer is onder andere dat dit CPU belasting scheelt op je servers, zeker ook omdat de SSL encryptie steeds complexer wordt. (2048/4096 bit) Daarnaast zijn de Kemp Loadbalancers geoptimaliseerd (SSL Acceleration Hardware)  om dit soort verkeer zeer efficient af te handelen.

    Een groot voordeel is ook dat je certificaten op een vaste plek kunt beheren. Denk hierbij aan verlenging van certificaten en dergelijke. Wanneer je deze centraal kan beheren hoef je niet al je servers af om certificaten te updaten.

    Je kan, nadat je SSL Offloading hebt toegepast, het verkeer opnieuw encrypten (re-encryption) en doorzetten naar bijvoorbeeld je Exchange server. Dit kan erg handig zijn als je meerdere servers hebt welke verdeeld zijn over verschillende co-locaties. Je kan dan het verkeer encrypted over je WAN netwerk distribueren. Hier kun je gewoon een self-signed certificate voor gebruiken. Dit zijn keuzes die je moet maken in je ontwerp en is zeker geen must, maar het is zeker prettig dat de mogelijkheid er is.

    Ik ben zelf in aanraking gekomen met Kemp toen we loadbalancing voor onze Exchange servers nodig hadden. Wij hebben dit vrij simpel aangepakt en niet gekozen voor een appliance, maar voor de virtuele versie van de Kemp Loadbalancer. Wij hebben gekozen voor de VLM-100 aangezien dit prima voldeed aan de load die wij verwachten.

    Ik vind deze optie rond uit geniaal werken. Echter hadden we achteraf misschien beter voor een andere VLM moeten kiezen. Naar aanleiding van deze presentatie kwam ik er uiteindelijk achter dat Kemp ook een VLM aanbied die specifiek voor Exchange is gemaakt en ook pre-configured wordt aangeboden.

    Je hebt de volgende VLM variaties:

  • VLM-100
  • VLM-1000
  • VLM-Exchange (Alleen specifiek bedoeld voor Exchange
  •  
    Deze post lijkt misschien een groot “reclame blok”. Ik krijg er niks voor betaald om dit over Kemp te schrijven! Maar wanneer een product en het support goed is wordt je als systeembeheerder een zeer gelukkig mens en dat wil mijn collega’s niet ontzeggen! :)

    Hoe maak je een distributielijst met behulp van PowerShell

    Ik moest in Exchange een aantal distributielijsten maken. Dit kan redelijk makkelijk via EMC geregeld worden maar als je het kan oplossen via PowerShell gaan we dat natuurlijk doen.

    Mijn doel, aan het begin van het jaar, was om al mijn beheerstaken zoveel mogelijk via PowerShell te gaan doen en dat probeer ik nog steeds zoveel mogelijk dagelijks toe te passen.

    Vandaag heb ik uitgezocht hoe ik dit het beste kan doen in PowerShell en hier zijn get-help en google natuurlijk je beste vrienden. Met deze informatie heb ik door middel van de volgende cmd-lets een perfect werkende distributielijst gemaakt.

    Als voorbeeld wil ik een distributielijst maken voor alle Exchange Beheerders. Ik noem deze distributielijst ExchangeBeheer.

    Ik heb de volgende cmd-lets gebruikt:

    New-DistributionGroup
    Set-DitributionGroup
    Add-DistributionGroupMember

    Om te beginnen moet je eerst een nieuwe distributielijst maken. Ik heb dit als volgt gedaan:

    New-DistributionGroup -Name "ExchangeBeheer" -OrganizationalUnit "macfacts.org/Users/Beheer" -SamAccountName "ExBeheer" -type "Distribution"

    Dit commando doet het volgende; Het maakt een distributielijst aan met de naam ExchangeBeheer en plaatst deze in de Active Directory OU Beheer. Vervolgens geef je de distributielijst een gebruikersnaam mee, in dit geval ExBeheer, en je geeft het type van de distributielijst mee.

    Je hebt twee type distributielijsten namelijk; Security en Distribution. Het verschil tussen deze twee is als volgt:

  • Mail enabled Distribution Group: Wordt gebruikt om alleen berichten te versturen
  • &nbps;

  • Mail enabled Security Group: Wordt gebruikt om zowel berichten te versturen, maar ook om rechten te geven aan verschillende resources zoals beamers, vergaderzalen e.d.
  • Vervolgens kan moet je verschillende properties aan de distributielijst toevoegen.

    Set-DistributionGroup -identity "exbeheer" -DisplayName "Exchange Beheer" -MemberJoinRestriction Closed -ModerationEnabled $false

    Eerst selecteer je welke distributielijst je properties aan toe wil wijzen, in dit geval kiezen we dus exbeheer (vergeet de quotes niet anders werkt dit niet). Vervolgens geef je aan welke DisplayName je wilt gebruiken. Je bepaald welke restrictie je aan deze distributielijst je wil toekennen. In dit geval maken we de distributielijst “closed” en set ik geen moderation aan.

    Je hebt nu de distributielijst helemaal klaar en deze ik klaar voor gebruik, het enige wat je mist zijn members en dat is wel praktisch voor een distributielijst lijkt me zo! :)

    Dit doe je vrij eenvoudig met het volgende cmd-let.

    Add-DistributionGroupMember -identity exbeheer -member [gebruikersnaam]

    Misschien is er een veel makkelijkere manier om dit te doen en dan hoor ik het graag natuurlijk! Maar ik heb mijn distributielijst werkend dus deze manier werkt prima! Ik hoop dat jullie er wat aan hebben.

    Mijn Windows 8 overzicht van handige posts, blogs en links

    Gisteren zijn door Microsoft twee nieuwe Microsoft beta’s beschikbaar gekomen voor download. Dat betekend weer flink wat slaap te kort voor mij maar ook voor mijn mede-techneuten. Iedereen is druk aan het testen/spelen met deze nieuwe beta’s.

    Ik dacht ik ga niks schrijven over wat er voor een nieuwe features in deze beta’s zit. In plaats daarvan geef ik gewoon een aantal interessante blogs, links, tips die ik zelf erg goed en interessant vond om te lezen.

    Allereerst natuurlijk waar haal ik de beta’s vandaan?

    Windows 8 Consumer Preview
    Windows 8 Consumer Preview ISO images

    Windows 8 Beta
    Download Windows Server “8″ Beta

    Het is een beta dus gebruik je dit niet op je productie machine maar ga zorg voor een goed test omgeving. Dit houd in dat je dus, net zoals ik, Windows 8 naast je werkende (betrouwbare) OS wil installeren. Je kan met Windows 8 heel goed gebruik maken van VHD’s. Ik heb twee posts gevonden waar dit heel duidelijk in staat beschreven hoe je dit doet in de vorm van een stappenplan.

    Uitgebreide post van Scott Hanselman (leuke blog ook, is een aanrader)
    How To Guide to Installing and Booting Windows 8 Consumer Preview off a VHD (Virtual Hard Disk)
    Nog een post die je bij de bovenstaande handleiding nodig hebt.
    Guide to Installing and Booting Windows 8 Developer Preview off a VHD (Virtual Hard Disk)

    Een post op Hyper-V.nu van Hans Vredevoort (deze site moet overigens iedereen die met hyper-v bezig absoluut tussen zijn RSS feeds hebben staan)
    How To Boot From VHD with Windows 8 Consumer Preview

    Dan wil je natuurijk nog een mooi overzicht van de nieuwe features die beschikbaar zijn in de twee beta’s.

    De eerste post die ik een aanrader vind komt van Jetze Mellema over Windows 8 Server en het nieuwe dcpromo.exe wizard.
    Windows Server “8”: Een blik op de nieuwe dcpromo-wizard

    Daarnaast heeft Paul Thurrott een uitgebreide post gemaakt over de Windows 8 Consumer Preview. Zeer uitgebreid en echt een aanrader om helemaal door te lezen.
    Windows 8 Consumer Preview: Welcome To The Windows 8 Consumer Preview

    Natuurlijk heeft het marketing team van Microsoft ook niet stil gezeten en een mooi videootje gemaakt van de mogelijkheden met Windows 8
    Meet Windows 8

    Ik moet natuurlijk ook wat PowerShell benoemen en dat doe ik door te linken naar de blog van Jeff Wouters.
    Enable Hyper-V in Windows 8 with a PowerShell one line

    UPDATE 02/03/2012:
    Een mooi overzicht van wat er allemaal beschikbaar is gekomen in IIS 8
    What’s New in IIS 8

    Erg goede podcast over Windows 8 Consumer Preview.
    Windows Weekly 250

    UPDATE 03/03/2012:
    Een zeer mooie post over hoe je Windows 8 Consumer Preview een “personal touch” kunt geven.
    Windows 8 Consumer Preview: Personalizing Windows 8

    EDGE heeft ook een serie video’s gepost met over Windows 8 waar deze video mij het meest intrigeerde! Ik ben zo enthousiast over de nieuwe netwerk mogelijkheden in Hyper-V
    Windows Server 8 Extensible Switch in Hyper-V interview with Bob Combs

    UPDATE 07-03-2012
    Mocht je er nog niet uitgekomen zijn met het booten vanaf een VHD dan is deze video misschien precies iets voor jou! Hij doet het iets anders als beschreven in eerdere tips, maar goed ook dit is een goede manier.
    How to Install Windows 8 with Native Boot to VHD

    Een interessant stuk over ActiveSync en hoe dit is geïntegreerd in Windows 8.
    Yes, there is ActiveSync in Windows 8!

    Wat heeft Windows 8 te bieden aan de IT Professional? De conclusie van Paul Thurrott is eigenlijk dat dit best een beetje tegen valt. Zijn conclusie is dat Windows 7 prima voldoet en dat de extra dingen die Windows 8 de IT Professional bied eigenlijk een beetje tegenvalt. Persoonlijk denk ik dat hij een goed punt heeft. Hoewel Windows 8 tot op dit moment prima bevalt maar het bied heb ik nog geen dingen gezien die mijn leven makkelijker maken of een beetje mooier! :)

    What Does Windows 8 Offer To IT Pros?

    Een van de mooiste dingen van Windows 8 Server is de Hyper-V replica feature! Aidan Finn heeft een uitgebreide post geschreven over deze nieuwe mogelijkheden.

    Windows Server 8 Hyper-V Replica … In Detail

    In de komende dagen zal ik deze post constant updaten met nieuwe interessante blogs, posts en tips over Windows 8 Consumer Preview en Windows 8 Server. Mochten jullie nog tips hebben hoor ik dat natuurlijk heel erg graag!

    PowerShell: Configureer een Out of Office melding via PowerShell

    Wij hebben nog wel eens bij de hand dat gebruikers problemen hebben met het instellen van de Out of Office melding in OWA of gewoon helemaal de melding vergeten in te stellen. Vraag mij ook niet waarom dit “moeilijk” zou zijn, maar er zijn gebruikers die dit toch uitdagend vinden.

    In ieder geval is het handig om een Out of Office melding aan te kunnen zetten via PowerShell. Dit blijkt redelijk makkelijk in te stellen te zijn met behulp van de cmd-let: Set-MailboxAutoReplyConfiguration.

    Allereerst controleer je of de gebruiker toch niet toevallig een Out of Office melding op de hun mailbox heeft staan. Dit doe je door het volgende commando:

    Get-MailboxAutoReplyConfiguration -identity testuser

    Als dit de volgende output geeft weet je dat er geen Out of Office melding ingesteld staat, want de waarde “AutoReplyState” geeft “Disabled” aan.

    RunspaceId : 29399f53-833c-468b-bd40-ff47ff9d4759
    AutoReplyState : Disabled
    EndTime : 28-2-2012 10:00:00
    ExternalAudience : All
    ExternalMessage :
    InternalMessage :
    StartTime : 27-2-2012 10:00:00
    MailboxOwnerId : macfacts.org/Tijdelijk/Test User 1
    Identity : macfacts.org/Tijdelijk/Test User 1
    IsValid : True

    Mocht er wel een Out of Office melding aan staan zie je dat de “AutoReplyState” op “Enabled” staat. Je krijgt de volgende output:

    RunspaceId : 29399f53-833c-468b-bd40-ff47ff9d4759
    AutoReplyState : Enabled
    EndTime : 28-2-2012 10:00:00
    ExternalAudience : All
    ExternalMessage : Ik ben van 27 februari tot 5 maart 2012 ben ik op vakantie. Je kan me collega bereiken op nummer 2211
    InternalMessage : Ik ben van 27 februari tot 5 maart 2012 ben ik op vakantie.
    StartTime : 27-2-2012 10:00:00
    MailboxOwnerId : macfacts.org/Tijdelijk/Test User 1
    Identity : macfacts.org/Tijdelijk/Test User 1
    IsValid : True

    Nu je weet dat de gebruiker inderdaad geen Out of Office melding heeft geplaatst kan je het volgende cmd-let gebruiken om dit in te stellen.

    Set-MailboxAutoReplyConfiguration -identity "Test User 1" -AutoReplyState enabled -Endtime 05/03/2012 -InternalMessage "Ik ben lekker op wintersport en jullie niet, mocht je vragen hebben kun je terecht bij mijn collega die is bereikbaar op extensie 1234 of op nietopvakantie@macfacts.org" -ExternalMessage "Ik ben tot 5 maart 2012 op vakantie u kunt bij vragen terecht op support@macfacts.org".

    Je kunt dus een onderscheid maken tussen wat je intern en extern wil communiceren. Ik heb hier nu wat onzin ingeschreven, maar jullie snappen vast de strekking van de mail wel!

    Ook heb ik hier gedefinieerd wanneer de Out of Office melding weer van de mailbox moet worden gehaald met behulp van -Endtime property. Dit vind ik erg handig zeker als je het voor iemand anders moet doen.

    Je kunt natuurlijk op twee manieren controleren of de Out of Office melding werkt. Je kan een mail sturen naar het e-mailadres van de gebruiker of je gebruikt het eerder genoemde cmd-let:

    Get-MailboxAutoReplyConfiguration -identity Test User 1

    Het is ook altijd handig om te weten hoe je de Out of Office melding kan verwijderen. Je hebt hier twee opties; Je kunt alleen de Out of Office disablen en de melding zowel intern als extern laten staan. Je kunt ook de Out of Office verwijderen inclusief de meldingen. Hieronder de twee mogelijkheden:

    Alleen een disable:
    Set-MailboxAutoReplyConfiguration -identity "Test User 1" -AutoReplyState disabled

    Een disable inclusief het verwijderen van de melding
    Set-MailboxAutoReplyConfiguration -identity "Test User 1" -AutoReplyState disable -InternalMessage "" -ExternalMessage ""

    PowerShell: Bereken het aantal users in een Active Directory OU

    Deze week moest ik uitzoeken hoeveel users er in een bepaalde Active Directory OU zaten. Natuurlijk wilde ik dit doen via PowerShell.

    Ik ben uiteindelijk met behulp van de Quest PowerShell Tools het volgende commando samengevoegd waardoor ik de gewenste output kreeg.

    Get-QADUser -SearchRoot 'ou=Accounts,dc=macfacts,dc=org' | Measure-Object

    Dit commmando geeft een keurig overzicht van de hoeveelheid users die in deze bepaalde OU zitten.

    Count : 335
    Average :
    Sum :
    Maximum :
    Minimum :
    Property :

    Dit gaf mij precies de juiste informatie, misschien dat dit jullie ook kan helpen!

    PowerShell: Eenvoudig de grootte van je Mailbox Database bepalen

    Wanneer je midden in een migratie zit is het handig om de grootte van de je mailbox goed in de gaten te houden. Het volgende powershell script kan je hier heel makkelijk inzicht in geven.

     
     
    Get-MailboxDatabase -Status | Select ServerName,Name,DatabaseSize |fl

    Dit geeft een mooi en bondig overzicht van de grootte van je database.

    ServerName : EXCH01
    Name : DB01
    DatabaseSize : 482 GB (517,553,061,888 bytes)

    Succes ermee!

    Volgende pagina →