Improve check for developer mode by checking minimum required build number (#8749)

* Improve check for developer mode by checking minimum required build number

The test would fail if the developer mode is enabled but the machine has an older build than the minimum required build.
The change adds a check for the build version in the test.

* Update test/powershell/Modules/Microsoft.PowerShell.Management/New-Item.Tests.ps1
This commit is contained in:
Aditya Patwardhan
2019-01-25 13:14:29 -08:00
committed by Travis Plunk
parent 12547c01e8
commit 6ccbebda27
2 changed files with 6 additions and 3 deletions
@@ -2449,8 +2449,9 @@ namespace Microsoft.PowerShell.Commands
{
// The new AllowUnprivilegedCreate is only available on Win10 build 14972 or newer
var flags = isDirectory ? NativeMethods.SymbolicLinkFlags.Directory : NativeMethods.SymbolicLinkFlags.File;
if (Environment.OSVersion.Version.Major == 10 && Environment.OSVersion.Version.Build >= 14972 ||
Environment.OSVersion.Version.Major >= 11)
Version minBuildOfDeveloperMode = new Version(10, 0, 14972, 0);
if (Environment.OSVersion.Version >= minBuildOfDeveloperMode)
{
flags |= NativeMethods.SymbolicLinkFlags.AllowUnprivilegedCreate;
}
@@ -262,7 +262,9 @@ Describe "New-Item with links fails for non elevated user if developer mode not
$testlink = "testlink"
$FullyQualifiedFile = Join-Path -Path $TestDrive -ChildPath $testfile
$TestFilePath = Join-Path -Path $TestDrive -ChildPath $testlink
$developerMode = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock -ErrorAction SilentlyContinue).AllowDevelopmentWithoutDevLicense -eq 1
$developerModeEnabled = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock -ErrorAction SilentlyContinue).AllowDevelopmentWithoutDevLicense -eq 1
$minBuildRequired = [System.Environment]::OSVersion.Version -ge "10.0.14972"
$developerMode = $developerModeEnabled -and $minBuildRequired
}
AfterEach {