Oculus Dienste (OVRService) bequem an- und ausschalten

Wer eine Oculus Rift besitzt, wird feststellen, dass diverse Oculus-Dienste beim Systemstart automatisch immer mitgestartet werden. Ich weiß ja nicht, wie es Euch geht, aber ich nutze nicht jedes Mal die Rift, wenn ich meinen Rechner hochfahre. Daher möchte ich heute eine kleine Anleitung und ein Powershell-Script vorstellen, womit wir die Dienste bequem aktivieren und deaktivieren können.

1. Autostart der Oculus-Dienste deaktivieren

Als erstes deaktivieren wir den automatischen Start der Oculus-Dienste. Dazu in der Suche „services.msc“ eingeben und die Dienstübersicht öffnen. Hier zum Anzeigename „Oculus VR Runtime Service“ (Dienstname ist „OVRService“) scrollen. Rechtsklick->Eigenschaften wählen und hier den Starttyp von „automatisch“ auf „manuell“ stellen. Das wars schon, denn alle anderen Oculus-Prozesse hängen von diesem Dienst ab und werden entsprechend mitgestartet oder beendet.

Wie man sieht, kann man jetzt hierüber auch den Dienst starten und beenden. Ist nur nicht sehr bequem, sich dort immer durchzuhangeln. Daher basteln wir uns hierfür ein Script und eine Verknüpfung, die das übernehmen.

2. Powershell-Script für das Aktivieren bzw. Deaktivieren der Oculus-Dienste

Da der Oculus-Dienst mit Systemrechten gestartet werden muss, benötigen wir eine UAC-Abfrage, um den eigentlichen Stop- bzw. Startbefehl mit erhöhten Rechten auszuführen. Hierfür nutze ich ein Script-Snippet von Russel Smith, welches man hier finden kann und ich leicht abgewandelt habe. Thank you for that.

param([switch]$Elevated)
function Check-Admin {
$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
if ((Check-Admin) -eq $false) {
if ($elevated)
{
# could not elevate, quit
}
else {
Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -ExecutionPolicy Bypass -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
}
exit
}
$Service = Get-Service -Name OVRService
if ($Service.Status -ne "Running") {
start-service OVRService
echo "Oculus AN"
}
else {
stop-service OVRService
echo "Oculus AUS"
}
Start-Sleep -s 2

Im Grunde ist das Script also ein An- und Ausschalter (Toggle), je nachdem, ob der Oculus-Dienst läuft oder nicht. Die Textdatei wird dann als z.B. Oculus-Toggle.ps1 gespeichert, am besten in einem gesonderten Scriptordner auf dem Systemlaufwerk (z.B. c:\scripts). Man kann im Prinzip jetzt schon testen, ob das Script funktioniert, in dem man einen Rechtsklick auf die Datei macht und „mit Powershell ausführen“ wählt. Es sollte dann eine UAC-Abfrage kommen und nach dem Bestätigen sollten alle 3-4 Oculus-Prozesse wieder laufen (bzw. beendet sein, falls sie vorher liefen). Sehr „bequem“ ist das aber natürlich immer noch nicht. Daher erstellen wir eine Verknüpfung für den Desktop und/oder das Startmenü.

3. Verknüpfung für den Desktop/Startmenü erstellen

Hierzu erstmal eine normale Verknüpfung der ps1-Datei im Script-Ordner erstellen (Rechtklick auf die ps1-Datei->Verknüpfung erstellen) und diese Verknüpfung dann bearbeiten (Rechtklick auf Verknüpfung->Eigenschaften). Unter Ziel jetzt folgendes eingeben:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -Command ". 'C:\scripts\Oculus-Toggle.ps1'"

Den Pfad und Dateiname hinter dem Command-Paramter natürlich entsprechend anpassen.

Unter „Ausführen in“ sollte schon der korrekte Pfad zum Script-Ordner festgelegt sein. Falls das Script mal verschoben werden soll, muss die Verknüpfung entsprechend angepasst werden.

Ich empfehle noch unter „Ausführen“ „minimiert“ zu wählen und wer möchte, kann eine Tastenkombination oder ein anderes Symbol festlegen. Ich hab einfach das Oculus-Icon von „%ProgramFiles%\Oculus\Oculus.ico“ gewählt.

Zum Schluss die Verknüpfung noch auf den Desktop kopieren und/oder an die Taskleiste/Startmenü anheften. Fertig ist der An-/Ausschalter für die Oculus-Dienste.

Schreibe einen Kommentar

Kommentare müssen vor der Veröffentlichung freigegeben werden. Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * gekennzeichnet. Bitte beachte auch die Datenschutzhinweise bzgl. des Kommentierens und des Widerspruchsrechts.