Ganz klar sollte kein Enduser lokale Administratorenrechte auf seinem Gerät haben. Leider gibt es nun aber immer noch Programme, die sich nicht ohne Adminrechte oder mit Silent-Parameter installieren lassen und auch keine Updateroutine anbieten. Oft sind CAD oder andere Zeichnungsprogramme Kandidaten für diese Umstände. Um aber doch eine möglichst sichere Umgebung gewährleisten zu können, bietet sich das Tool "RunAsRob" an. Dieses lässt sich per Intune verteilen und ermöglicht es ein Verzeichnis oder Programm als Admin, ohne überall Adminrechte zu haben, auszuführen.

Table of Contents

Was ist "RunAsRob"?

Das Tool "RunAsRob" wird als Service installiert und ermöglich die Vergabe von Administrations- oder Systemrechten auf vordefinierte Bereiche oder Dateien. So kann ein User Daten in einem Verzeichnis oder einer spezifischen Anwendung als Admin ausführen.

Das Programm ist für die private Verwendung kostenlos. Für Firmen startet der Preis bei 48 $ für 10 Geräte und jedes weitere kostet 1.80 $ (pro 5 Jahre). (Order RunAsRob (robotronic.de))

Sicherheits-Standard und -Risiko

Immer wenn ein neues Tool eingesetzt wird, gerade wenn es sich um Admin und System Rechte handelt, ist es wichtig, dass man sich auch mit dem Thema Security auseinandersetzt. Ich habe dazu den Entwickler Oliver von "Oliver Hessing IT Service" angefragt, der mir sofort Auskunft und einige Artikel zukommen liess. Diese habe ich dir hier zusammengefasst:

Die beiden Artikel zeigen sehr schön die Risiken und Punkte, die beachtet werden sollen, auf.
Für mich am wichtigsten ist, dass die Funktionen mit Mass und nur wo wirklich nötig eingesetzt werden. Natürlich ist es immer sicherer, dem User gar keine Adminrechte zu vergeben und das System so gut wie möglich abriegelt. Doch hindert das den User im Endeffekt an seiner Arbeit und er sucht sich einen Umweg oder arbeitet an einem privaten Gerät, nützt alle Sicherheitsvorkehrungen nichts.

Konfiguration von RunAsRob

Per GPO oder auch Registry können die drei wesentlichen Funktionen konfiguriert werden. In diesen wird definiert, welche Pfade beziehungsweise Dateien als Admin oder System ausgeführt werden, was der Default Wert für die Ausführung ist und welche Anwendungen als Dienst im Systemkontext ausgeführt werden sollen.

Die Einstellungen sind in der Registry hier abgespeichert:

HKEY_LOCAL_MACHINE\SOFTWARE\RunasRob

Unter diesem Pfad befinden sich, falls du das Tool bereits installiert hast, bereits die Einträge, falls nicht, kannst du sie auch manuell erstellen. Bei den Werten handelt es sich immer um den Typ "REG_EXPAND_SZ".

Registry RunAsRob

Diese drei Werte kannst du wie folgt vorkonfigurieren:

WertBeschreibungBeispiel
LogonFlagStandardwert für Pfade unter "AllowPath".
asservice oder asadmin
asadmin
AllowedPathVerzeichnis(e) und Anwendung(en), die als Admin oder System ausgeführt werden dürfen.
Die Pfade werden aneinandergereiht und mit einem Strichpunkt (;) getrennt.
Soll das Startverhalten vom Standard (LogonFlag) abweichen, kann dieses mit /asservice oder /asadmin angegeben werden.
C:\Windows\System32\cmd.exe;\\s-xx-app01\XYZ\;C:\CAD\XYZ.exe /asservice
ServiceModeAnwendung, die als Service im Systemkontext gestartet werden, wie beispielsweise ein Monitoring Agent.C:\System\monitoring.exe;C:\Program Files\Agent\agentXY.exe;

RunAsRob installieren und mit Intune verteilen

Um das Programm nun auf unsere mit dem Endpoint Manger / Intune verwalteten Geräte zu bringen, installieren wir zum einen den Service "RunAsRob", zum anderen setzen wir die Registry Einträge mit der gewünschten Konfiguration.
Die Vorlage für das komplette Paket habe ich dir auf GitHub abgelegt:

Das Paket besteht aus der EXE, einer Installations- sowie Deinstallationsroutine, eines Validierungsfiles und der Konfigurationsdaten mit den Registry-Einträgen.
Von all diesen Dateien müssen wir eigentlich nur die Konfigurationsdatei "RunAsRob_Policies.ps1" anpassen. Diese beinhaltet die drei oben beschriebenen Konfigurationsoptionen und hinterlegt dies in der Windows Registry.

$AllowedPath = ""           #   exp. C:\Windows\System32\cmd.exe;\\s-xx-app01\XYZ\;
$ServiceMode = ""           #   exp. C:\System\monitoring.exe;C:\Program Files\Agent\agentXY.exe;
$LogonFlag = "asadmin"      #   asservice or asadmin

$PolicyPath = "HKLM:\SOFTWARE\RunasRob"

if(!(Test-Path $PolicyPath)){New-Item -Path $PolicyPath -Force}
if($AllowedPath){Set-ItemProperty -Path $PolicyPath -Name "AllowedPath" -Value $AllowedPath -Type "ExpandString"}
if($ServiceMode){Set-ItemProperty -Path $PolicyPath -Name "ServiceMode" -Value $ServiceMode -Type "ExpandString"}
if($LogonFlag){Set-ItemProperty -Path $PolicyPath -Name "LogonFlag" -Value $LogonFlag -Type "ExpandString"}Code language: PowerShell (powershell)

Hast du das File nach deinen Wünschen angepasst, kannst du das ganze Paket in ein Win32 App (intunewin) verwandeln. Wie du das machen kannst, habe ich dir hier dokumentiert:
Create Win32 App / .intunewin | scloud

Hast du das Intunewin-File erstellt?
Dann müssen wir dieses nur noch im Endpoint Manager unter "Apps > Windows apps" als "" erfassen und hochladen.
Anschliessend vergeben wir mindestens einen Namen, eine Beschreibung, den Herausgeber.

Beim Installations- sowie Deinstallations-Behel kannst du die zwei nachstehenden Zeilen einfügen. Die Ausführung als System belassen wir so.

Install command%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\install.ps1
Uninstall command%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\uninstall.ps1
RunAsRob, Intune install and uninstall command

Bei den Anforderungen ist lediglich x64 erforderlich, die Windows Version spielt keine Rolle. Im darauffolgenden Schritt musst du noch die Detection Rule (check.ps1) hochladen.

Abhängigkeiten hat das Programm keine. Zum Schluss musst du es nur noch der gewünschten Gruppe zuweisen.

RunAsRob Konfiguration aktualisieren

Um neue Pfade oder Verhalten des Programms zu definieren, hast du zwei Möglichkeiten:

  1. Paket wie bei der initialen Erstellung neu machen und verteilen.
  2. Nur die Konfigurationsdatei (RunAsRob_Policies.ps1) anpassen und als PowerShell Script verteilen.
    • Hochladen kannst du das Script unter "Devices > Windows > PowerShell scripts".
    • Hier vergibst du einfach einen Namen, wählst das Skript (RunAsRob_Policies.ps1) aus und weisst es der Zielgruppe zu. Die Standardeinstellungen können alle belassen werden:
PowerShell Script, RunAsRob Policies