Seite 1 von 1

opsi-client-install script -Password Eingabe Sternchen

Verfasst: 13 Aug 2025, 09:08
von Tommy65
Hallo,

ab und zu nutze ich ein Batch um den opsi client von Hand zu installieren.
Da mich bei einem Batch nervte das die Passworteingabe im Klartext erscheint, habe ich mich an ein PS script gemacht.
leider ließen sich die Argumente bei der oca-installation-helper.exe nicht übergeben, so das dieser Aufruf dann von dem PS script über eine externes Batch erfolgt, aber die passworteingabe zum Verbinden mit dem depot wird nun durch Sternchen ersetzt.

Powershell script:

# PS script für ospi Client Installation
# Ersteller: Thiede


# das PS script elevated ausführen

if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) {
$CommandLine = "-NoExit -c cd '$pwd'; & `"" + $MyInvocation.MyCommand.Path + "`""
Start-Process powershell -Verb runas -ArgumentList $CommandLine
Exit
}
}



# Function um später die Variable $Password -AsSecureString wieder als lesbarer Text wandeln.

function pwEncrypt($password) {
return $([System.Runtime.InteropServices.Marshal]::PtrToStringAuto($([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password))))
}



$Username = Read-Host -Prompt "Username:"
$Password = Read-Host -Prompt "Passwort:" -AsSecureString # AsSecureString verschlüsselt das PW



# über die obige Funktion das decrypte Passwort in eine andere Variable schreiben

$pw = $(pwEncrypt($Password))


# Netzlaufwerkverbindung - Passwort aus der Variablen $pw nehmen

net use K: \\141.71.xxx.xxx\opsi_depot /USER:$Username $pw /PERSISTENT:NO


# oca-installation-helper.exe über die bat aufrufen
& .\Client-Agent-Install-start.bat

# netzlaufwerk wieder löschen
net use K: /DELETE /yes

_______________________________
Batch file: Client-Agent-install-start.bat:

K:\opsi-client-agent\oca-installation-helper.exe --service-address https://141.71.xxx.xxx:4447 --service-username AdminName --service-password {crypt}xxxxxxxxxxxx123456789= --non-interactive





Gruß
Thomas

Re: opsi-client-install script -Password Eingabe Sternchen

Verfasst: 21 Aug 2025, 08:59
von n.doerrer
Moin,

ich nehme das mal als feature-request auf, dass oca-installation-helper[.exe] --encrypt-password eine Interaktive verdeckte Passwort-Eingabe bekommt.

Gruß
Nils