Public/Get-AccountFiles.ps1
<#PSScriptInfo
.VERSION 1.0 .GUID 936baf47-0936-4906-be5b-581a123f5d0d .AUTHOR Bjørn Wolstad .COMPANYNAME Office Center Høneffoss AS .COPYRIGHT .TAGS .LICENSEURI .PROJECTURI .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES .RELEASENOTES .PRIVATEDATA #> <# .DESCRIPTION Gets active Autotask Accounts and stores them as securestrings To start the form run Start-OCHAutotaskForm. It installs and or updated needed modules if run as administrator. This function returns the values inside the stores securestringfiles. Decrypts them if you will. Sources: https://stackoverflow.com/questions/40617800/opening-powershell-script-and-hide-command-prompt-but-not-the-gui https://www.reddit.com/r/PowerShell/comments/7ziv37/print_a_word_document_to_a_specific_printer/ https://foxdeploy.com/2015/05/14/part-iii-using-advanced-gui-elements-in-powershell/ http://serverfixes.com/powershell-radiobuttons #> function Get-AccountFiles ($Folder) { if ($Folder -eq $null) { $Folder = (Get-Location).Path.ToString() } if ((Test-Path "$Folder\Crypt") -eq $false) { Write-Error ('Did not find Crypt folder in dir {0}' -f (Get-Location)) Break } $ATWSuser = Get-Content "C:\temp\ATWSuser.txt" $r = 0 $decrypt = @() Get-ChildItem "$Folder\Crypt\*.txt" | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) } | ForEach-Object{ $ecreds = @() $secaccountsfile = Get-Content $_ $secfile = $secaccountsfile | Convertto-SecureString ForEach ($s in $secfile){ $ecreds = New-Object System.Management.Automation.PSCredential -ArgumentList $ATWSuser, $s $decrypt += $ecreds.GetNetworkCredential().Password }#end foreach }#end Foreach-Object $r = $decrypt | ConvertFrom-Csv Return $r } |