forked from ge9/IddSampleDriver
-
-
Notifications
You must be signed in to change notification settings - Fork 366
Expand file tree
/
Copy pathscale-VDD.ps1
More file actions
42 lines (37 loc) · 1.73 KB
/
scale-VDD.ps1
File metadata and controls
42 lines (37 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[CmdletBinding(DefaultParameterSetName = "UserDefined")]
param(
[Parameter(Mandatory, Position = 0, ParameterSetName = "UserDefined")]
[ValidateSet("100", "125", "150", "175", "200", "225", "250", "300", "350", "400", "450", "500")]
[int]$scale,
[Parameter(Mandatory, ParameterSetName = "Recommended")]
[switch]$reset
)
# Self-elevate the script if required
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) {
$CommandLine = "-File `"" + $MyInvocation.MyCommand.Path + "`" "
$MyInvocation.BoundParameters.GetEnumerator() | ForEach-Object { $CommandLine += "-$($_.Key):$($_.Value) " }
Start-Process -WorkingDirectory $PSScriptRoot -FilePath PowerShell.exe -Verb Runas -ArgumentList $CommandLine
exit
}
}
# Install dependencies if required.
. "$PSScriptRoot\set-dependencies.ps1"
# Getting the correct display
$disp = Get-DisplayInfo | Where-Object { $_.DisplayName -eq "VDD by MTT" }
$maxscale = Get-DisplayScale -DisplayId $disp.DisplayId | Select-Object -ExpandProperty MaxScale
if ( $PSCmdlet.ParameterSetName -eq "UserDefined" ) {
Write-Host "Setting scale to $scale"
if ( $scale -le $maxscale ) {
Set-DisplayScale -DisplayId $disp.DisplayId -Scale $scale
}
else {
Write-Error "Scale percentage $scale is higher than max scale $maxscale"
}
}
elseif ( $PSCmdlet.ParameterSetName -eq "Recommended" ) {
Set-DisplayScale -DisplayId $disp.DisplayId -Recommended
}
else {
Write-Error "Invalid arguments: 'reset' or a valid percentage value like 150 is acceptable."
}