De evolutie van de Active Directory

Wist je dat de Active Directory in het jaar 2019 20 jaar bestaat? De eerste contouren van Active Directory zijn in 1999 gepresenteerd tijdens de introductie van Windows 2000. In het jaartal 2019 kunnen we nog steeds niet zonder, sterker nog: we diepen de mogelijkheden steeds verder uit.

Wat is nu de Active Directory.

Eigenlijk is de Active Directory een samenvoeging van de functionaliteiten LDAP, Kerberos en DNS. Het protocol LDAP is ontwikkeld in 1975. De basis voor LDAP is X500, X500 zorgt ervoor dat we de hedendaagse Organizational Unit (OU) structuur kunnen gebruiken.

Onderhuids is Active Directory een database met een limitatie tot maximaal 16TB aan omvang en 2 miljoen objecten.

Windows 2003

In Windows Server 2003 is de Active Directory verder uitgediept en zijn er opnieuw functionaliteiten toegevoegd. Een belangrijke toevoeging was het vereenvoudigen van verschillende beheer werkzaamheden rondom Active Directory. Met de komst van Windows Server 2003 R2 is ook het beheer van Group Policies vereenvoudigd en sindsdien niet meer veranderd, los van diverse kleinere toevoegingen in functionaliteiten en mogelijkheden.

Windows Server 2008

In Windows server 2008 is Active Directory Federation Services toegevoegd. Hierdoor is het mogelijk geworden om een Single Sign-On ervaring aan te bieden. Een functionaliteit welke vandaag de dag bijna niet meer is weg te denken. Ook anno 2019 neemt het gebruik hiervan nog steeds toe.

Onderhuids werd ook de naam veranderd van Active Directory (AD) Active Directory Domain Services (ADDS), weliswaar een kleine nuance, wel een belangrijke - De kapstok waar Microsoft meerdere functionaliteiten kan aanhangen gerelateerd aan Active Directory

De inmiddels bekende Active Directory Prullenbak is toegevoegd aan Windows Server 2008 R2.

En verder

Na de naamswijziging (ADDS) is de Active Directory eigenlijk alleen nog maar belangrijker geworden.  Tegenwoordig hoef ik bijna niet meer uit te leggen wat de functie van de Active Directory is. De mogelijkheden zijn steeds uitgebreider. We verplaatsen dat maffe ding zelfs naar de Cloud.

Veiligheid

Bescherming van je Active Directory is van cruciaal belang. Het is de kern van je gehele bedrijfsnetwerk! Met een aantal eenvoudige en niet kostbare applicaties is het mogelijk om wachtwoorden te verkrijgen.
En dan zijn de gevolgen niet meer te overzien.

Tips:

  • Overweeg een Windows Server Core installatie van de domain controller.
    De stappen heb ik hier
  • Gebruik firewall regels, of externe firewalls om de domain controller te ontsluiten in je interne LAN.
  • Gebruik een managementserver (Ook wel bekend al, Steppingstone en/of Jumpserver) voor het beheer van de Active Directory.
  • Geef niet meer autorisaties uit dan nodig. Dat klinkt logisch maar ik zie nog bij te veel organisaties dat dit niet, of in ieder geval niet voldoende gebeurd.
    Bijvoorbeeld het niet scheiden van admin en “normale” medewerkers AD accounts.
    Zelfs bij grote organisaties kom ik dit nog teveel tegen.
  • Last but not least, gebruik een domain controller als een domain controller.
    Met andere woorden, voeg geen onnodige rollen toe of zelfs extra internet browsers.
    Dit maakt je omgeving alleen maar kwetsbaarder.

 


EXTRA Podcast: Infosecurity 2019

Uw razende CGIT-Reporters zijn weer op pad geweest, dit keer naar de Infosecurity beurs 2019!

De Infosecurity.nl, Data & Cloud Expo zoals de beurs officieel heet is één van de grootste vakbeurzen op ICT-gebied in Nederland waar de grote spelers samen komen om zich te presenteren met de focus op onder meer security.

De sfeer op de beurs is altijd uitgelaten en mede daardoor is het voor mij en Martijn elk jaar weer een klein feest terug te keren. Gewapend met de microfoon hebben we de nodige break-out sessies bijgewoond en sfeer geproefd op de beursvloer en aanwezige stands.

In deze aflevering komen aan het woord:

  • Bert Hubert – Founder PowerDNS en ‘Geeky Entrepeneur’
  • Michael van der Vaart - Chief Technology Officer ESET
  • Axel van Drongelen – General Manager Egress Software Technologies
  • Eddy Willems – Security Evangelist G DATA CyberDefense
  • Wim Hafkamp - Manager Advisory Services / Deputy Head NCSC

 


Uitgelicht. Come Get IT spreker Rob Tummers

Een van de sprekers tijdens het aanstaande Come Get IT evenement is Rob Tummers. Rob is Trainer en inspirator, oprichter en eigenaar van 2enable. Tijdens het Aanstaande Come Get IT event zal Rob een “mini” workshop voor ons gaan verzorgen.

Read more


Welke rol speelt applicatie virtualisatie binnen een Hybride Cloud wereld?

In het hybride tijdperk, waarin we momenteel leven, wordt een grote mix aan applicaties gebruikt. Applicaties vanuit de Cloud (SaaS), mobiele en web applicaties en applicaties die we vanuit ons eigen datacenter aanbieden. Dit laatste wordt tegenwoordig ook wel de ‘traditionele’ manier van werken genoemd.

Mede hierdoor wordt het steeds belangrijker om na te denken over hoe we de data en toegang tot onze applicaties beter kunnen beveiligen.

Cloud?

Deze aanpak is (ook) uitstekend te combineren als er een werkplek vanuit de Cloud wordt gebruikt. Een endpoint zal altijd nodig zijn, en waarom dan niet eén gebruiken waar de gebruiker zich happy bij voelt. Dit, in plaats van het apparaat waarop wordt gewerkt zo veel mogelijk ‘dicht’ te zetten en de medewerker te bepreken in zijn of haar doen en laten.

Traditioneel

Wat hierbij goed aansluit is een vraag die ik (Bob) kreeg over hoe je omgaat met legacy (Windows) applicaties in een omgeving waarin veel SaaS applicaties worden gebruikt. Hierdoor worden bestaande applicatie en desktop virtualisatietechnieken in stand gehouden, althans zo lijkt het.

Laat ik beginnen met het feit dat ik de term legacy applicaties een slechte vind. Bij de meeste bedrijven zijn deze applicaties kritisch voor het bedrijfsproces en het wordt daarom niet gewaardeerd als je deze als ‘legacy’ bestempeld. Traditionele applicaties vind ik een betere term. Zeker wanneer je weet dat er elke dag nog Windows applicaties bijkomen. Verschillende onderzoeken bevestigen dit. Er komen eerder meer Windows apps bij dan dat er verdwijnen.

En hoeveel van deze applicaties kun je per jaar “verSaaSen”? Hoeveel heb je er daadwerkelijk in je organisatie? En hoelang ben je dan bezig? Dit is altijd een uitdagend traject omdat deze applicaties meestal diep in het bedrijfsproces verweven zitten. Een antwoord op de vraag hoe je hier mee om moet gaan, is dan ook niet eenvoudig te geven.

Virtualiseren

Een veelgebruikte methode is het toepassen van applicatie virtualisatie om ervoor te zorgen dat de gebruiker een SaaS ervaring krijgt bij het gebruik van de applicatie. Het enige wat immers telt is hoe de gebruiker het ervaart. Welke technologie er wordt gebruikt voor het aanbieden van de applicatie interesseert hem of haar niet. Dit wordt helemaal versterkt wanneer er een (Unified) Workspace aggregatie portal gebruikt wordt waar alle soorten applicaties, desktops en data bij elkaar komen zonder dat de gebruiker weet waar deze vandaan gestart worden.

Hybride

Wanneer je als bedrijf van plan bent om volledig naar de Cloud te gaan is dit bij de meeste bedrijven nog steeds een lange termijnvisie en zal er veelal worden gekozen voor een hybride oplossing. Er zijn helaas nog te veel applicaties die om diversen reden niet naar de Cloud te verhuizen zijn.

Hoe zit het bijvoorbeeld met de bijbehorende data? Kan en mag dat wel ‘zomaar’ worden verplaatst. Denk hierbij aan wet en regelgeving die dit mogelijk verbiedt. Er zijn ook technische reden zoals latency naar de backend of randapparatuur die ervoor zorgen dat een migratie naar de Cloud lastig is. In een aantal gevallen zijn de technische beperkingen nog prima op te lossen, maar dit zal voorlopig niet voor alle applicaties gelden. Daardoor is applicatie virtualisatie in mijn ogen (zeker in een hybride situatie) nog steeds de beste manier om ‘traditionele’  applicaties aan te bieden.

Dan volgt vaak de vraag over wat voor plek desktop virtualisatie hierin dan heeft? Er zijn genoeg usecases te bedenken waar dit een (of een deel van de) oplossing kan zijn, een mooi onderwerp voor een volgende blog. Maar als het gaat om het aanbieden van traditionele applicaties aan gebruikers die al in bezit zijn van een werkplek, dan zal de gebruiker meer gebaat zijn bij het ‘lokaal’ kunnen starten van applicaties.

Geschreven door Bob Molenaar.

 


Leve de Allrounders! 

Het is tegenwoordig verleidelijk om als IT’er een specialisme te kiezen. Bedrijven en opleidingen duwen hun werknemers en studenten dan ook zachtjes in die richting. ‘Allrounder’ en ‘generalist’ zijn bijna vieze woorden geworden. Dat terwijl we juist deze mensen ook nodig hebben.

Ik ben jaren geleden bij een bedrijf begonnen waar direct gezegd werd: “Jullie waren generalisten, maar vanaf nu worden jullie IT-specialisten.” De bedoeling was dus dat we allemaal in een specialisme, een keurslijf geduwd werden, zonder dat we hier zelf om gevraagd hadden.

Dat is tegenwoordig een trend. In mijn werkzaamheden zie ik dat er steeds meer specialisten zijn die zich op specifieke diensten en onderdelen van IT richten. Er zijn IT’ers die zich bijvoorbeeld alleen maar met Exchange bezighouden, of alleen maar met Office 2019, afgezien van de ‘klassieke’ specialisaties zoals storage en networking.

Ik zie dit fenomeen ook in het dagelijks leven en dan met name bij jonge mensen.
Al op vroege leeftijd wordt er aangdrongen zich te specialiseren en zich voor te bereiden op een beroepskeuze terwijl veel en wellicht zelfs de meeste jongeren hier nog niet mee bezig zijn, laat staan klaar voor zijn.

Laat het duidelijk zijn, een specialist is ontzettend waardevol. Ik ben soms best wel jaloers op de mensen naast me die in detail zoveel meer weten en kunnen met het onderwerp waarmee ze bezig zijn maar ik merk ook dat specialisten met hun eigen valkuilen komen


Hoe steekt alles in elkaar?

Wat ik namelijk zie is dat er mensen zijn die zo gespecialiseerd zijn, dat ze het overzicht missen. Ze weten bij wijze van spreken niet wat er bij je buurman op kantoor gebeurt. Dat is niet erg als een probleem zich beperkt tot jouw specialisme maar dat is niet altijd het geval.

Een probleem kan ontstaan door een kapotte schakel in een serie van diensten en processen. Ben jij alleen maar bezig met Exchange en ligt de oorzaak van een probleem rondom Exchange ergens anders? Dan is de kans groot dat je het niet vindt. Je bestrijdt dan symptomen, maar niet het onderliggende probleem.

Het is voor bedrijven dus belangrijk dat er ook iemand aanwezig is die bredere kennis heeft en weet hoe dingen in elkaar haken, met name tijdens het uitvoeren van projecten of het oplossen van complexe issues. Dat kan best een specialist zijn. Iemand die net als ik ooit onderaan de ladder is begonnen, doet onderweg veel kennis op. Ook al gaat diegene zich – net als ik – later specialiseren, dan blijft die brede kennis behouden.

Er is balans nodig

Betekent dit dat de specialist moet verdwijnen? Zeker niet. Specialisten hebben ontzettend veel voordelen dankzij hun diepgaande kennis over één onderwerp. Zij zien problemen binnen hun eigen gebied die een ander nooit zou zien, omdat diegene niet weet waar je moet zoeken.

Een specialist zal het echter het onderliggende probleem van de symptomen die hij ziet niet snel vinden als dat probleem zich buiten zijn werkveld bevindt. Dat is waar je een allrounder voor nodig hebt, die de verbanden ziet en weet hoe alles in elkaar steekt. Kortom: je hebt een balans tussen die twee nodig.

‘Allrounder’ en ‘generalist’ zijn dus geen vieze woorden. Want wie zoek je als je een pro-troubleshooter nodig hebt? De allrounder!

 


EXTRA sessie! Vijf (Cloud) platform alternatieven voor het aanbieden van je (virtuele) applicaties en desktops

Tijdens het aanstaande Come Get IT evenement op 28 november zal Bas van Kaam ons in hoog tempo bijpraten over de mogelijke, relatief onbekende (Cloud) alternatieven voor oplossingen als Citrix Virtual Apps en Desktops (voormalig XenApp en XenDesktop), VMware Horizon, etc. Lees snel verder…

Read more


Podcast aflevering 10 - Microsoft Teams

De 10e aflevering van onze podcast is alweer een feit.

Te gast is Maarten Eekels, Maarten is CTO van Portivia, een van de grootste implementatiepartners van SharePoint en Office365 in Nederland.

Maarten heeft zich verdiept in Office 365 en met name Microsoft Teams en praat ons bij over het inzetten van Microsoft Teams en de techniek erachter.

Deze aflevering hadden in we teams kunnen opnemen maar we hebben er toch voor gekozen om Maarten fysiek te bezoeken.

We hebben tijdens het maken van deze aflevering alweer een hoop bijgeleerd. Hopelijk jij ook na het beluisteren van deze aflevering.

 


LAPS maakt wachtwoordbeheer van lokale admin-accounts eenvoudig

In een ideale wereld hebben gebruikers en beheerders alleen de rechten en permissies die ze nodig hebben om hun werk uit te voeren. Helaas is dit niet het geval: er is ook een lokaal administrator-account, waar eigenlijk niet naar omgekeken wordt. Dit account heeft veel rechten/permissies, maar vaak geen uniek wachtwoord. Dat terwijl dit met LAPS van Microsoft snel op te lossen is.

Het lokale administrator-account is van groot belang. Wordt een server uit het domein gehaald, dan is het mogelijk om via dit account er weer in te komen. Het lokale administrator-account heeft mede om die reden ontzettend veel rechten en permissies.

Het is dan ook zorgwekkend dat het beheer van dit type account nog te wensen overlaat. Juist met het oog op server hardening, waar mijn collega Sander Bruijs onlangs over schreef, is het belangrijk dat anderen niet zomaar bij dit account kunnen komen.

Dat begint met een complex, uniek wachtwoord voor het account, dat regelmatig gewijzigd wordt. Maar als servers vanuit een template of via een geautomatiseerde methode worden uitgerold, is de kans groot dat ze allemaal hetzelfde wachtwoord gebruiken. Ontdekt een kwaadwillende dan het wachtwoord van één server, dan heeft hij ze voor allemaal, bijvoorbeeld ook die voor het systeem waar alle belangrijke bedrijfsdocumenten opstaan.


Bescherm jezelf met LAPS

De oplossing is dus eenvoudig: geef iedere server zijn eigen, complexe wachtwoord. Dit zorgt echter voor administratie waar de gemiddelde beheerder niet op zit te wachten. Laat staan het periodiek wijzigen van dit wachtwoord. Het is dan ook niet verrassend dat ik in passwordmanagers vaak een enkel wachtwoord voor de lokale administrator-accounts zie.

Microsoft zag dit probleem ook, en ontwikkelde een tool om het op te lossen. Met de zogenaamde Local Administrator Password Solution (LAPS) is het mogelijk om de wachtwoorden van de lokale administrators volledig geautomatiseerd en regulier te wijzigen.

LAPS maakt daarvoor gebruik van de Active Directory. Beheerders kunnen in een Active Directory Group Policy aangeven met welke frequentie een wachtwoord gewijzigd moet worden en andere eisen invoeren. LAPS wijzigt het wachtwoord vervolgens volgens die regels automatisch naar een unieke, gegenereerde variant. Het wachtwoord wordt daarna binnen Active Directory opgeslagen.

Om rekening mee te houden

LAPS vereist geen extra server(rol), omdat het een uitbreiding is op Active Directory. Daarentegen moeten alle servers wel een Group Policy Extension bevatten. Daarna is het mogelijk om de wachtwoorden centraal te beheren via een Group Policy Object (GPO).

Daarnaast kan het zo zijn dat er een back-up van een VM teruggezet moet worden, die waarschijnlijk een ouder wachtwoord heeft. Als dat wachtwoord niet ergens is weggeschreven, is het ook niet meer te achterhalen.

Het is mogelijk om LAPS-wachtwoorden automatisch op te laten slaan op een aparte plek voor dit scenario, maar daar moet dan wel een apart script voor worden geschreven.

Server hardening kan makkelijk zijn

LAPS maakt duidelijk dat bepaalde delen van server hardening behoorlijk eenvoudig kunnen zijn.  Bovendien is er nu geen excuus meer om het beheer van het lokale administrator-wachtwoord niet goed te regelen.

 


Save the date... 28 november vindt het volgende Come Get IT event plaats

YES, eindelijk mogen we ons programma bekend maken. De afgelopen maanden zijn we wederom druk in de weer geweest om er een interessante, leerzame en gezellige avond van te maken. En dat is gelukt. Twee technisch inhoudelijke sessies, de ander aan de techniek gerelateerd. En wat betreft de locatie, tsja… die is wederom schitterend (understatement).

Read more


Homefolder Profielen naar OneDrive

De moderne (digitale) werkplek is hot, er wordt veel over gesproken, geschreven en gediscussieerd. Waar bestaat zo’n “werkplek” eigenlijk uit, welke toegevoegde en functionele waarde heeft het voor je gebruikers, hoe pak je een implementatie aan en meer.

OneDrive, bekend bij de meeste van jullie, maakt in veel gevallen een (belangrijk) onderdeel uit van deze nieuwe digitale werkplek. In dit artikel wil ik je helpen hoe je gebruiker profielen & homefolders kunt migreren naar OneDrive.

Online zijn een diverse artikelen te vinden over hoe je kunt migreren naar OneDrive, echter is deze informatie erg gefragmenteerd. Over het algemeen wordt er gebruik gemaakt van 3rd party tooling om migraties (naar OneDrive en andere  online opslagdiensten) te automatiseren door middel van scripting. De tool waar we vandaag gebruik van gaan maken heet “ShareGate”

Onderstaand neem ik de de migratiestappen puntsgewijs met je door. Voor het gemak ga ik er van uit dat je ShareGate als hebt geïnstalleerd en geconfigureerd.

  1. Inventariseren is belangrijk. Wil je folders uitsluiten? Vanuit welke bronnen migreer je, zijn het er meerdere – profielen en homefolders bijvoorbeeld. Maak een duidelijk overzicht zodat je goed in beeld hebt waar welke data te vinden is, om hoeveel data het gaat (in GB’s) en waar het heen gemigreerd moet worden.
  2. Voor je kunt migreren moeten er een licenties zijn toegewezen aan je gebruikers. Het is niet zoals met Office365 Exchange Online dat je al kunt beginnen met synchroniseren en dan later de licenties kunt toewijzen.
  3. Als je een licentie hebt toegewezen aan een gebruiker wordt de OneDrive niet automatisch aangemaakt zoals in Exchange Online. De gebruiker dient eerst in te loggen om de OneDrive aan te maken, het zogenaamde “provisionen”. Dit gebeurt geautomatiseerd op de achtergrond. Dit kun je uiteraard ook in bulk doen gebruikmakend van Powershell. Gebruik hiervoor het volgende Script:

Import-Module "Microsoft.Online.Sharepoint.PowerShell" -Force
$credential = Get-credential
Connect-SPOService -url https://tenantnaam-admin.sharepoint.com -Credential $credential
$InputFilePath = "C:\Temp\OneDrivePreProvision.csv"
$CsvFile = Import-Csv $InputFilePath
ForEach ($line in $CsvFile)
{
Request-SPOPersonalSite -UserEmails $line.User -NoWait
Write-Host Personal site provisioned for $line.User -ForegroundColor Yellow
}

*Format CSV:

User
user1@domain.com
user2@domain.com

*Dit script roept een zogenaamd pre-provisioning request aan. Het request wordt in een queue geplaatst. Het is dus niet zo dat het uitvoeren van dit script voldoende is. Nadat het script zijn werk heeft gedaan wordt het pre-provisioning request daadwerkelijk uitgevoerd. Afhankelijk van het aantal gebruikers kan hier dat enige tijd in beslag nemen.

  1. Je hebt schrijfrechten nodig op alle OneDrive folders binnen de tenant om de data te kunnen migreren. *Tip – Maak hier een generiek account voor aan zodat gebruikers geen argwaan krijgen als ze zien dat er “iemand” rechten heeft op hun OneDrive (zelf heb ik hier niemand over gehoord gedurende een migratie van 1000+ gebruikers maar je weet het nooit.)

Via een rapportagefunctie binnen ShareGate kun je alle OneDrive folders binnen je tenant opvragen en rechten toekennen. Het is wel belangrijk om eerst stap 2 en 3 af te ronden anders werkt dit niet.

  1. Gebruik een CSV om de homefolder/profile locatie en de OneDrive URL in het script te krijgen, mede om ervoor te zorgen dat alles op de juiste locatie terecht komt. Bijvoorbeeld:

DIRECTORY;ONEDRIVEURL
Y:\USERNAME\PROFILE;https://tenant-my.sharepoint.com/personal/USERNAME_tenant_nl/
Y:\USERNAME\HOMEFOLDER;https://tenant-my.sharepoint.com/personal/USERNAME_tenant_nl/

Een aantal tips om je CSV samen te stellen, gebruik deze PowerShell functie om eenvoudig je homefolders/profiles te inventariseren en in een CSV te krijgen:

Function Get-ChildItemToDepth {

                               Param(

                                               [String]$Path = $PWD,

                                              [String]$Filter = "*",

                                              [Byte]$ToDepth = 255,

                                              [Byte]$CurrentDepth = 0,

                                              [Switch]$DebugMode

                                               )

 

                               $CurrentDepth++

                                               If ($DebugMode) {

                              $DebugPreference = "Continue"

                                }

 

                               Get-ChildItem $Path | %{

                               $_ | ?{ $_.Name -Like $Filter }

 

                              If ($_.PsIsContainer) {

                              If ($CurrentDepth -le $ToDepth) {

 

                              # Callback to this function

Get-ChildItemToDepth -Path $_.FullName -Filter $Filter ` -ToDepth $ToDepth -CurrentDepth $CurrentDepth

                              }

                              Else {

                                              Write-Debug $("Skipping GCI for Folder: $($_.FullName) " + `

                                             "(Why: Current depth $CurrentDepth vs limit depth $ToDepth)")

                              }

                               }

               }

}

 

Export alle UPN’s naar een Excel bestand en voer vervolgens eerst het volgende uit:

Voorbeeld user: username@domein.nl

Vervang @domein.nl door _domein_nl/ zodat je het format username_domein_nl/ voor iedere gebruiker krijgt.

*Het voorbeeld gebruikt een .nl domein, dit kan natuurlijk ook .com of iets anders zijn.

Voeg daarna ‘https://tenant-my.sharepoint.com/personal/’ toe voor ‘username_domein_nl/    zodat je https://tenant-my.sharepoint.com/personal/username_domein_nl/ krijgt.

Voeg daarna de Excel files samen zodat je dit format hebt:

DIRECTORY;ONEDRIVEURL
Y:\USERNAME\PROFILE;https://tenant-my.sharepoint.com/personal/USERNAME_tenant_nl/

  1. Als laatste stap voer je het script uit zodat alles daadwerkelijk wordt geüpload naar OneDrive.
##### ############
#Import ShareGate module
Import-Module Sharegate
#Exclude source folders
$ExcludeFolders = "examplefolder","examplefolder"
#Set CopySettings Incremental
$copysettings = New-CopySettings -OnContentItemExists IncrementalUpdate
#Example CSV file with columns titled DIRECTORY and ONEDRIVEURL:
$csvFile = "C:\temp\example.csv"
#load the CSV file into a table
$table = Import-Csv $csvFile -Delimiter ";"
#Get credentials
$cred = Get-Credential
#Cycle through each row
foreach ($row in $table)
{
#connect to the destination OneDrive URL
$dstSite = Connect-Site -Url $row.ONEDRIVEURL -UserName $cred.UserName -Password $cred.Password
#select destination document library, named Documents by default in OneDrive, this is different for each language, double check this.
$dstList = Get-List -Name Documenten -Site $dstSite
#Get list for profile folder and exclude folders
foreach ($SourceFolder in $row.DIRECTORY)
    {
    $folders = Get-ChildItem -Path $SourceFolder -Exclude $ExcludeFolders
    }
#Import folders
 foreach ($folder in $folders)
 {
 $uriFolder = [System.Uri]$folder.FullName
 Import-Document -SourceFilePath $uriFolder -DestinationList $dstList -InsaneMode -CopySettings $copysettings
 Write-Host Uploaded Files for $row.Directory -ForegroundColor Yellow
 }
 }