1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Oculus Service mit einem Klick starten und beenden

Dieses Thema im Forum "Oculus Rift / S / Go" wurde erstellt von maxxs, 3. März 2020.

  1. Ich kopiere mal weitestgehend das rein, was ich im Discord meiner Staffel verfasst habe. Vielleicht braucht jemand solche Codeschnipsel

    Was ging mir das Oculus Tray Tool auf den Zeiger.
    Super Sache aber teils hat es nicht komplett das gemacht, was ich wollte. Irgendwelche Services liefen schon, weil Du Home ohne das OTT genutzt hast oder liefen nicht oder sonstiges.
    Ich bin ein fauler Bürger und lasse so gut wie alles automatisiert starten (was das OTT eigentl tun sollte)
    Ott hat ab und an doch nicht mein Home starten lassen, weil das Tool vermutlich nicht abfragt, was schon alles läuft. Das ist ärgerlich, wenn Du über Voiceattack "Start DCS" sagst, alles nacheinander startet, außer Oculus Home. Dann fängst Du an, verschiedene Sachen wieder zu schließen und nach händischem Homestart wieder zu öffnen ect.

    Ok.. ich brauchte ein Tool, welches die ganzen Services zuverlässig schließt und öffnet. Das realisieren wir über Powershell commands
    Textdatei öffnen, Code reinkopieren und das file als batch.ps1 speichern

    Code:
    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

    Nun ist es so, dass man bei Doppelklick, lediglich den Inhalt zu sehen bekommt. Oder man muss rechtsklick Powershell...das möchte ich aber nicht, da ich per Voiceattack verschiedene Sachen starten lassen möchte)
    Bedeutet, wir benötigen eine batchdatei, die den code im powershell ausführt. geht relativ einfach, wir wollen aber mit rechten ausführen lassen.
    textdatei erstellen, folgenden code rein und als "batch.cmd" abspeichern.

    Code:
    PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -Verb RunAs}" 
    Wichtig ist, dass die .ps1 und .cmd die gleichen namen haben und im gleichen ordner liegen (da wir in der.cmd mit ner variablen arbeiten)
    Wenn man möchte, kann man das (so wie ich) auch noch mit Voiceattack verbinden.
    Bedeutet... Bei "Start Dcs" wird als erstes der Oculus Service ausgeschaltet. Dann lässt man das TrayTool starten, welches Sevice und home startet und dann den rest.

    Doppelklick auf die batch.cmd, Powershell öffnet sich kurz und spuckt aus ob der Oculus Service an oder ausgeschaltet wurde.


    Fragen? Fragen!
    Btw..das sind alles Codeschnipsel, die ich aus dem netz und zusammengepflastert habe, bis es passt.





    Zur Verdeutlichung habe ich ein kurzes Vid gemacht


    SolKutTeR: Beiträge zusammengefügt
     
    #1 maxxs, 3. März 2020
    Zuletzt von einem Moderator bearbeitet: 3. März 2020
    Cyber733, axacuatl und SolKutTeR gefällt das.
  2. Hier sind die files, die oben beschrieben wurden
     

    Anhänge:

    • batch.zip
      Dateigröße:
      668 Bytes
      Aufrufe:
      0
    Cyber733 gefällt das.