34 lines
996 B
PowerShell
34 lines
996 B
PowerShell
|
using namespace System.Security.AccessControl;
|
||
|
using namespace System.Security.Principal;
|
||
|
|
||
|
param(
|
||
|
$Action,
|
||
|
[hashtable] $Arguments
|
||
|
)
|
||
|
|
||
|
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
|
||
|
|
||
|
Start-SoftwareInstaller @PSBoundParameters `
|
||
|
-Installer {
|
||
|
$env:NVS_HOME = "$env:ProgramData\nvs";
|
||
|
git clone "https://github.com/jasongin/nvs.git" $env:NVS_HOME;
|
||
|
& "$env:NVS_HOME\nvs.cmd" install;
|
||
|
|
||
|
$acl = Get-Acl $env:NVS_HOME;
|
||
|
|
||
|
$acl.AddAccessRule(
|
||
|
[FileSystemAccessRule]::new(
|
||
|
[SecurityIdentifier]::new([WellKnownSidType]::BuiltinUsersSid, $null),
|
||
|
[FileSystemRights]::FullControl,
|
||
|
[InheritanceFlags]::ObjectInherit -bor [InheritanceFlags]::ContainerInherit,
|
||
|
[PropagationFlags]::InheritOnly,
|
||
|
[AccessControlType]::Allow));
|
||
|
|
||
|
Set-Acl $env:NVS_HOME $acl;
|
||
|
refreshenv;
|
||
|
} `
|
||
|
-Configurator {
|
||
|
nvs add latest;
|
||
|
nvs link latest;
|
||
|
};
|