| # Copyright 2020 The Chromium Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| $filesystemKey = "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" | |
| if (Get-ItemProperty -Path $filesystemKey -Name "LongPathsEnabled") { | |
| # Key is already set, if it's not 1, set it | |
| $longPathsEnabled = Get-ItemPropertyValue ` | |
| -Path "$filesystemKey" ` | |
| -Name "LongPathsEnabled" | |
| if (-not $longPathsEnabled) { | |
| echo "LongPathsEnabled is currently 0. Setting to 1" | |
| Set-ItemProperty ` | |
| -Path "$filesystemKey" ` | |
| -Name "LongPathsEnabled" ` | |
| -Value 1 ` | |
| -Force | |
| } else { | |
| echo "LongPathsEnabled is currently 1. Not modifying." | |
| } | |
| } else { | |
| # LongPathsEnabled value is not yet present, set it | |
| echo "LongPathsEnabled is not yet set on machine; setting to 1." | |
| New-ItemProperty ` | |
| -Path "$filesystemKey" ` | |
| -Name "LongPathsEnabled" ` | |
| -Value 1 ` | |
| -PropertyType DWORD ` | |
| -Force | |
| } | |
| # Echo the current value. | |
| $longPathsEnabled = Get-ItemPropertyValue ` | |
| -Path "$filesystemKey" ` | |
| -Name "LongPathsEnabled" | |
| echo "LongPathsEnabled is set to $longPathsEnabled" |