mux
Lt. Junior Grade
- Registriert
- Apr. 2011
- Beiträge
- 306
Guten Abend!
Könntet Ihr mir bitte mal helfen? Ich beschäftige mich gerade zum ersten Mal etwas näher mit Powershell. Bin da leider überhaupt nicht firm drin!
Die Aufgabe die ich ausführen lassen möchte ist rel. einfach: Ich möchte, dass beim Anklicken der Verknüpfung zum Script "RunAfterburnerElevated.ps1" die UAC aufploppt, ich das Admin-PW eingebe und der MSI Afterburner + RivaTuner mit erweiterten Rechten startet. Ich bin mit einen User-Account eingeloggt und da funktioniert der automatische Start der Programme nicht.
Problem ist (mMn) dass in den Programmpfaden Leerzeichen enthalten sind und ich weiß (noch) nicht, wie ich damit umzugehen habe . Bei Programmen ohne Leerzeichen im Pfad (zB. Rainmeter und HWiNFO) funktioniert mein Script so wie es soll, welches dann so aussieht:
Passe ich nun selbiges an und schreibe ins neue Script für MSI Afterburner+RivaTuner:
passiert nichts.
Habe im Netz rumgelesen und u.a. hier gefunden, wie ich den Pfad zu C:\Program Files (86) anpassen kann. Nichts, oder für mich nur Unverständliches habe ich aber dazu gefunden, wie ich die Ordnernamen anpassen kann. Glaubt mir, ich habe 20 und mehr Varianten ausprobiert, es führte jedoch keine zum Ziel.
Könnte mir bitte jemand helfen und sagen, wie ich die beiden Programme im Script (dem unteren) korrekt ausführen lassen kann?
Danke!
Könntet Ihr mir bitte mal helfen? Ich beschäftige mich gerade zum ersten Mal etwas näher mit Powershell. Bin da leider überhaupt nicht firm drin!
Die Aufgabe die ich ausführen lassen möchte ist rel. einfach: Ich möchte, dass beim Anklicken der Verknüpfung zum Script "RunAfterburnerElevated.ps1" die UAC aufploppt, ich das Admin-PW eingebe und der MSI Afterburner + RivaTuner mit erweiterten Rechten startet. Ich bin mit einen User-Account eingeloggt und da funktioniert der automatische Start der Programme nicht.
Problem ist (mMn) dass in den Programmpfaden Leerzeichen enthalten sind und ich weiß (noch) nicht, wie ich damit umzugehen habe . Bei Programmen ohne Leerzeichen im Pfad (zB. Rainmeter und HWiNFO) funktioniert mein Script so wie es soll, welches dann so aussieht:
PowerShell:
#
# this Powershell script runs Rainmeter and HWiNFO as elevated processes, prompting for elevation if
# needed
#
If (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
# relaunch as an elevated process
Start-Process powershell.exe "-File ",('"{0}"' -f $MyInvocation.MyCommand.Path) -Verb RunAs
Exit
}
# run HWiNFO
& "$($Env:ProgramFiles)\HWiNFO64\HWiNFO64.exe"
# run Rainmeter
& "$($Env:ProgramFiles)\Rainmeter\Rainmeter.exe"
Passe ich nun selbiges an und schreibe ins neue Script für MSI Afterburner+RivaTuner:
PowerShell:
#
# this Powershell script runs MSI Afterburner and RivaTuner Statistics Server as elevated processes, prompting for elevation if
# needed
#
If (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
# relaunch as an elevated process
Start-Process powershell.exe "-File ",('"{0}"' -f $MyInvocation.MyCommand.Path) -Verb RunAs
Exit
}
# run Afterburner
& "${$Env:ProgramFiles(86)}\MSI Afterburner\MSIAfterburner.exe"
# run RivaTuner
& "${$Env:ProgramFiles(86)}\RivaTuner Statistics Server\RTSS.exe"
passiert nichts.
Habe im Netz rumgelesen und u.a. hier gefunden, wie ich den Pfad zu C:\Program Files (86) anpassen kann. Nichts, oder für mich nur Unverständliches habe ich aber dazu gefunden, wie ich die Ordnernamen anpassen kann. Glaubt mir, ich habe 20 und mehr Varianten ausprobiert, es führte jedoch keine zum Ziel.
Könnte mir bitte jemand helfen und sagen, wie ich die beiden Programme im Script (dem unteren) korrekt ausführen lassen kann?
Danke!
Zuletzt bearbeitet: