Die einfachste Variane ist, um sich mit dem Quest Service zu verbinden, mit Eingabe des Passwortes und Angabe des Benutzers.
1 2 3 |
$pw = read-host "Enter password" -AsSecureString $Username = "Stefan.Rehwald" connect-qadService -Proxy -ConnectionAccount "DOMAIN\$Username" -ConnectionPassword $pw |
Hier eine sehr dynamische Variante, diese ermittelt den ausführenden Benutzer, sowie die aktuelle Domain. Es wird ein verschlüsseltes Textfile im Userprofile angelegt indem das Passwort gespeichert wird. Ist das File älter als einen Tag, wird die Datei gelöscht und das Passwort muss erneut eingeben werden. So kann man sich bequem einen Tag lang ohne Passwort eingabe zum QAD Service verbinden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#Domain $Domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain().Name #ausführender User $User = $Domain $env:USERNAME # Prüfen ob das Passwort bereits hinterlegt ist # Der \ muss in Hochkommas "\", Gibt hier aber Probleme mit der Darstellung im Blog If (Test-Path -Path $env:USERPROFILE+\+$env:USERNAME.txt) { $date = Get-Date $date1dago = $date.AddDays(-1).Date $filepath = "$env:USERPROFILE\$env:USERNAME.txt" $file = Get-ChildItem $filepath if ($file.CreationTime.Date -lt $date1dago) { Remove-Item $file.PSPath Read-Host "Bitte das Passwort von $($User) eingeben" -assecurestring | ConvertFrom-SecureString | Out-File $env:USERPROFILE\$env:USERNAME.txt } # Passwort ist hinterlegt. } else { Read-Host "Bitte das Passwort von $($User) eingeben" -assecurestring | ConvertFrom-SecureString | Out-File $env:USERPROFILE\$env:USERNAME.txt } #Passwort einlesen (as secure String) $Password = Get-Content $env:USERPROFILE\$env:USERNAME.txt | ConvertTo-SecureString # Connection Change History connect-qadService -Proxy -ConnectionAccount $User -ConnectionPassword $Password # Script start |
rewe