Public/Update-AccountFiles.ps1
<#PSScriptInfo .VERSION 1.0 .GUID 936baf47-0936-4906-be5b-581a123f5d0d .AUTHOR bjorn .COMPANYNAME Office Center Høneffoss AS .COPYRIGHT .TAGS .LICENSEURI .PROJECTURI .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES .RELEASENOTES .PRIVATEDATA #> #må kanskje fjerne statisk paths til å bruke et parameter. <# .DESCRIPTION Gets active Autotask Accounts and stores them as securestrings With the -Folder parameter you have to paste the path as the running instance. ergo the parent folder to where \Crypt is located, not the folder 'crypt' itself. #> function Update-AccountFiles { param ( [Switch]$Delete, $Folder ) if ($Folder -eq $Null) { $Folder = (Get-Location).Path } if ((Test-Path "$Folder\Crypt") -eq $false) { Write-Error ('Did not find Crypt folder in dir {0}' -f (Get-Location)) exit } if ($Delete -eq $false) { } else { write-output "Sletter Filer for oppdatering" Get-ChildItem "$Folder\Crypt\*.txt" | ForEach-Object { Remove-Item $_ } Wait-Event -Timeout 0.5 } $p = 0 write-output "Henter kunder fra atws" $accounts = Get-AtwsAccount -Active $true $accountscsv = $accounts | ConvertTo-Csv $int = 50 for ($i = 0; $i -lt $accountscsv.Count; $i+=50) { $t = $accountscsv[$i..$int] $int += 50 $sec = $t | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString Set-Content "$Folder\Crypt\$($i)ec.txt" $sec Write-Progress -Activity "Encrypting files" -Status "Progress:" -PercentComplete ($p/$accountscsv.Count*100) $p++ } Write-Output 'Oppdaterte Kundefiler' } |