Tengo un pequeño script que me gustaría poder iniciar con administrador nada mas darle a un acceso directo.
Ahora mismo tengo que ir a la ruta del script desde el Powershell. Lo que busco es poder desactivar la gráfica de Nvidia de las opciones de alto rendimiento y sin tener que desinstalar controladores ni nada poder ejecutarlo todo en la integrada.
Evidentemente esto se hace para ahorrar energía en batería. Y además para que ningún proceso le de por usar la dedicada.
Y que esta funciona peor que la integrada en batería por ir a frecuencias mínimas
El script en cuestión:
#Permisos lo saque de la red xD
param([switch]$Elevated)
function Test-Admin {
$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
if ((Test-Admin) -eq $false) {
if ($elevated)
{
# tried to elevate, did not work, aborting
}
else {
Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
}
exit
}
'running with full privileges'
#script
function Menu {
Write-Host "1 Activar GPU NVIDIA"
Write-Host "2 Desactivar GPU NVIDIA"
}
Menu
while(($inp = Read-Host -Prompt "Elige una opcion") -ne "3"){
switch($inp){
1 {
Enable-PnpDevice -InstanceId (Get-PnpDevice -FriendlyName *1650* ).InstanceId -Confirm:$false
}
2 {
Disable-PnpDevice -InstanceId (Get-PnpDevice -FriendlyName *1650* -Status OK).InstanceId -Confirm:$false
}
3 {"Salida"; break}
default {Write-Host -ForegroundColor red -BackgroundColor white "No hay mas opciones";pause}
}
Clear-Host
Menu
} `