Windows: Programme ohne UAC mit Adminrechten ausführen

Windows: Programme ohne UAC mit Adminrechten ausführen

Manchmal kommt es vor, das man per Fernwartung ein Programm installieren muss, jedoch bekommt man das Eingabefenster für die Zugangsdaten nicht angezeigt und möchte dem Anwender nicht das Adminkennwort geben.

Dann einfach eine CMD-Box starten und zu den Ordner navigieren, wo die Installationsdatei liegt und das folgende eingeben.

runas /profile /env /user:AD\Benutzer

Anschließend kann man das Kennwort eingeben, ohne das der Anwender dies sieht. Natürlich benötigt man dazu ein Konto mit Adminrechten :).

Tipps:

Sollte es erforderlich sein, das das Kennwort direkt mitgegeben wird, dann kann man dies mittels psexec machen, das sollte sich dann im selben Verzeichnis befinden.

Beispiel:

psexec -u AD\BENUTZER -p PASSWORT c:\windows\system32\calc.exe

Mittels Tools, wie bat2exe kann mann denn Code dann unleserlicher machen – was jedoch keine sichere Lösung ist, da es sicherlich Tools gibt, die diese Kennwörter wieder Sichtbar machen können.

Update:

Alternativ kann man auch mit AutoIt fertige Exe Dateien erstellen, welche mit z.B. runas() oder runaswait() installationen ausführen. Hier hat man natürlich wesentlich mehr möglichkeiten.

Hier ein Beispiel:

ProcessClose("nlnotes.exe")
ProcessClose("nsd.exe")
ProcessClose("notes.exe")
ProcessClose("notes2.exe")
Run("C:\Program Files(x86)\IBM\Lotus\Notes\nsd.exe -kill")
Run("C:\Program Files(x86)\IBM\Notes\nsd.exe -kill")
Run("C:\Program Files\IBM\Lotus\Notes\nsd.exe -kill")
Run("C:\Program Files\IBM\Notes\nsd.exe -kill")

$RegMultiLotus = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Lotus\Notes","MultiUser")
$RegMultiIBM = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Notes","MultiUser")

$InstallClientPath = @ScriptDir & "\IBM_NOTES_CLIENT_9.0.1_WINDOWS_G"
$InstallFPPath = @ScriptDir & "\FP8"

$SupportInfo = " - bitte wenden Sie sich an den Support unter 123 123 -123 oder -124."
$Domain = RegRead("HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Domain")
Local $IsDomainMember = StringInStr($domain, "domainname")

if $IsDomainMember = "1" Then
if $RegMultiLotus = "0" or $regMultiIBM = "0" Then
RunAsWait("administrator", "domain", "passwort", 0, $InstallClientPath & "\setup.exe /s /v""ALLUSERS=1 SETMULTIUSER=0 /qb!")
If @Error <> "0" Then
MsgBox(64,"Hinweis"," Es ist ein Fehler beim Notesclient Update aufgetreten" & $SupportInfo)
Exit
EndIf
Else
RunAsWait("administrator", "domain", "passwort", 0, $InstallClientPath & "\setup.exe /s /v""ALLUSERS=1 SETMULTIUSER=1 /qb!")
If @Error <> "0" Then
MsgBox(64,"Hinweis"," Es ist ein Fehler beim Notesclient Update aufgetreten" & $SupportInfo)
Exit
EndIf
EndIf
RunAsWait("administrator", "domain", "passwort", 0, $InstallFPPath & "\setup.exe /s /v/qb+!")
If @Error <> "0" Then
MsgBox(64,"Hinweis"," Es ist ein Fehler beim Notesfeaturepack Update aufgetreten" & $SupportInfo)
Exit
EndIf
Else
if $RegMultiLotus = "0" or $regMultiIBM = "0" Then
RunAsWait("administrator", @ComputerName, "passwort", 0, $InstallClientPath & "\setup.exe /s /v""ALLUSERS=1 SETMULTIUSER=0 /qb!")
Else
RunAsWait("administrator", @ComputerName, "passwort", 0, $InstallClientPath & "\setup.exe /s /v""ALLUSERS=1 SETMULTIUSER=1 /qb!")
EndIf
RunAsWait("administrator", @ComputerName, "passwort", 0, $InstallFPPath & "\setup.exe /s /v/qb+!")
EndIf

MsgBox(64,"Notesupdate", "Die Updates wurden abgeschlossen. Sollten noch Programme geöffnet sein können Sie diese mit Ok schließen. Danach können sie die Dateien löschen.")

Hinweis: Sie verwenden die Codeschnippsel auf eigene Verantwortung. Bitte vorher ausgiebig testen.



Terminalserver speichert Zugangsdaten nicht

Bei einem Windows 2008R2 Terminalserver kann es sein, das beim Kennwort speichern dies nicht gemerkt wird. Ein manuelles Anmelden funktioniert jedoch.

Diese Einstellung kann per GPO angepasst werden.

Dazu eine GPO erstellen mit der folgenden Einstellung:

Computer > Administrative Vorlagen > System > Delegierung von Anmeldeinformationen > Delegierung von gespeicherten Anmeldeinformationen mit reiner NTLM-Serverauthentifizierung zulassen > aktivieren und anzeigen Button klicken. Dort den Eintrag TERMSRV/* erstellen.

Bildschirmfoto 2015-04-07 um 17.38.50

Bildschirmfoto 2015-04-07 um 17.39.03

In der Ereignissanzeige wird die ID 5378 angezeigt.


AD Anmeldung per VPN

Die meisten VPN Clients werden erst nach der Anmeldung gestartet, somit ist ein Anmelden am AD nicht möglich, falls das Kennwort nicht gecached wurde.

Es gibt aber einige Clients die die Funktion „Pre-Login Connection Support for AD/Domain Logins“ bieten:


Keine Anmeldung an Windows Server mit OSX Mavericks Client

Die Clients verwenden die neue SMB 2.0 Version von Apple, diese macht in manchen Szenarien Probleme (das anmelden schlägt fehl, obwohl Zugangsdaten definitiv richtig sind) – ein umschalten auf CIFS hilft hier.

Somit statt CMD + K mit cifs://ip/freigabe statt smb://ip/freigabe .

Weitere Infos hier.