Advertisement
BlackGuard26

Eindopdracht Comprimeren

Dec 14th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Zet Verbose aan
  2. $VerbosePreference = "continue"
  3.  
  4. #Maak folders als deze niet bestaan
  5. $FolderDate = Get-Date -format MMMM-yyyy
  6. $LogDir = "C:\Backup\Log\"+ $FolderDate
  7. $FileDir = "C:\BackUp\File\"+ $FolderDate
  8.  
  9. if(!(Test-Path -Path $LogDir ))
  10. {
  11.     New-Item -ItemType Directory -Path $LogDir
  12. }
  13.  
  14. if(!(Test-Path -Path $FileDir))
  15. {
  16.     New-Item -ItemType Directory -Path $FileDir
  17. }
  18.  
  19. #Start logfile
  20. Start-Transcript -Path ("C:\BackUp\Log\"+ $FolderDate +"\"+ $CurrentDate +"_log.txt")
  21.  
  22. #Import functies
  23. Import-Module "C:\Powershell Files\functies.psm1" -DisableNameChecking -Force
  24.  
  25. #Import XML
  26. $data = [Xml](Get-Content("C:\Powershell Files\14 CSWINPS XML Wijzigingen v1.0.xml"))
  27.  
  28. #Vars
  29. $TempData = $null
  30. $CurrentDate = Get-Date -format HHmm_yyyyMMdd
  31.  
  32. #Comprimeer mappen indien nodig
  33. Check-Comprimeren -LogDir "C:\BackUp\Log"
  34.  
  35. #Controleer of XML is ingeladen
  36. if(!$data)
  37. {
  38.     Write-Warning "XML bestand is niet beschikbaar!"
  39. }
  40.  
  41. #Meldt verbose dingen
  42. Write-Verbose "Imported functies"
  43. Write-Verbose "Imported XML"
  44.  
  45. try
  46. {
  47.     #Voer handelingen uit voor alle klanten in XML wijzigen
  48.     foreach($item in $data.klantadministratie.wijzigen.klant)
  49.     {
  50.         $nummer = $item.nummer
  51.         #Voer handeling uit voor alle onderdelen van een klant
  52.         foreach($i in $item.ChildNodes)
  53.         {
  54.             #Geef tempData mee als deze al een waarde heeft
  55.             if(!$TempData)
  56.             {
  57.                 $TempData = Wijzig-KolomVoorKlantnummers -Kolom $i.Name -Inhoud $i.'#text' -Klantnummer $item.nummer
  58.             }
  59.             else
  60.             {
  61.                 $TempData = Wijzig-KolomVoorKlantnummers -Kolom $i.Name -Inhoud $i.'#text' -Klantnummer $item.nummer -KlantAdm $TempData
  62.             }
  63.         }
  64.         Write-Verbose "Wijzigingen doorgevoerd voor klantnummer $nummer"
  65.     }
  66.  
  67.     #Voer handelingen uit voor alle klanten in XML verwijderen
  68.     foreach($item in $data.klantadministratie.verwijderen.klant)
  69.     {
  70.         $nummer = $item.nummer
  71.         #Geef tempData mee als deze al een waarde heeft
  72.         if(!$TempData)
  73.         {
  74.             $TempData = Verwijder-Klanten -Klantnummer $item.nummer
  75.         }
  76.         else
  77.         {
  78.             $TempData = Verwijder-Klanten -KlantAdm $TempData -Klantnummer $item.nummer
  79.         }
  80.         Write-Verbose "Klant met klantnummer $nummer is verwijderd"
  81.     }
  82.  
  83.     #Voer handelingen uit voor alle klanten in XML toevoegen
  84.     foreach($item in $data.klantadministratie.toevoegen.klant)
  85.     {
  86.         $nummer = $item.nummer
  87.         #Geef tempData mee als deze al een waarde heeft
  88.         #Voer eerst het klantnummer in
  89.         if(!$TempData)
  90.         {
  91.             $TempData = Toevoegen-Klant -Klantnummer $item.nummer -Kolom "Klantnummer" -Inhoud $item.nummer
  92.         }
  93.         else
  94.         {
  95.             $TempData = Toevoegen-Klant -KlantAdm $TempData -Klantnummer $item.nummer -Kolom "Klantnummer" -Inhoud $item.nummer
  96.         }
  97.  
  98.         #Voer alle andere onderdelelen van een specifieke klant in
  99.         foreach($i in $item.ChildNodes)
  100.         {
  101.             $TempData = Toevoegen-Klant -KlantAdm $TempData -Klantnummer $item.nummer -Kolom $i.Name -Inhoud $i.'#text'
  102.         }
  103.         Write-Verbose "Klant met klantnummer $nummer is toegevoegd"
  104.     }
  105.  
  106.     #Exporteer de var met alle gewijzigde waarde
  107.     $TempData | Export-Csv -Path ("C:\BackUp\File\"+ $FolderDate +"\"+ $CurrentDate +"_Data.csv") -Delimiter ";" -NoTypeInformation
  108.     Write-Verbose "Data is geëxporteerd"
  109. }
  110. Catch
  111. {
  112.     Write-Error $_.Exception.Message
  113.     Write-Verbose "Vervang gewijzigde data voor backup data"
  114.     Import-Csv "C:\Powershell Files\13 CSWINPS ZorgverzekerdenData_v1.0.csv" -Delimiter ";" | Export-Csv -Path ("C:\BackUp\File\"+ $FolderDate +"\"+ $CurrentDate +"_Data.csv") -Delimiter ";" -NoTypeInformation
  115.     Write-Verbose "Backup data is geëxporteerd"
  116. }
  117. finally
  118. {
  119.     Stop-Transcript
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement