@@ -41,6 +41,7 @@ function IncludePath([string[]] $pathParts) {
41
41
42
42
function ProcessDirectory ([System.Text.StringBuilder ] $DirectoryBuilder ,
43
43
[System.Text.StringBuilder ] $CopyBuilder ,
44
+ [System.Text.StringBuilder ] $AclBuilder ,
44
45
[string ] $SourcePath ,
45
46
[bool ] $FirstDirectory ) {
46
47
Write-Verbose " Processing source directory: $SourcePath "
@@ -56,6 +57,12 @@ function ProcessDirectory([System.Text.StringBuilder] $DirectoryBuilder,
56
57
$copy = ' COPY ["{0}", "{1}"]' -f (Split-Path $SourcePath - Leaf), ($targetPath -Replace " \\" , " /" )
57
58
$null = $CopyBuilder.AppendLine ($copy )
58
59
60
+ $null = $AclBuilder.AppendLine (' RUN $path=' + " 'C:$targetPath '; `` " )
61
+ $null = $AclBuilder.AppendLine (' $acl = Get-Acl $path; `' )
62
+ $null = $AclBuilder.AppendLine (' $newOwner = [System.Security.Principal.NTAccount]('' BUILTIN\IIS_IUSRS'' ); `' )
63
+ $null = $AclBuilder.AppendLine (' $acl.SetOwner($newOwner); `' )
64
+ $null = $AclBuilder.AppendLine (' dir -r $path | Set-Acl -aclobject $acl' )
65
+
59
66
$fullSourcePath = $SourcePath
60
67
if ($global :SourceType -eq [SourceType ]::Image -or
61
68
$global :SourceType -eq [SourceType ]::Remote) {
@@ -127,7 +134,8 @@ if ($Artifact.Status -eq 'Present') {
127
134
# process the main site path
128
135
$DirectoryBuilder = New-Object System.Text.StringBuilder
129
136
$CopyBuilder = New-Object System.Text.StringBuilder
130
- ProcessDirectory - DirectoryBuilder $DirectoryBuilder - CopyBuilder $CopyBuilder - SourcePath $mainVirtualDir.PhysicalPath - FirstDirectory $true
137
+ $AclBuilder = New-Object System.Text.StringBuilder
138
+ ProcessDirectory - DirectoryBuilder $DirectoryBuilder - CopyBuilder $CopyBuilder - AclBuilder $AclBuilder - SourcePath $mainVirtualDir.PhysicalPath - FirstDirectory $true
131
139
132
140
# creating the website creates the default app & vdir underneath it
133
141
$sourcePath = $mainVirtualDir.PhysicalPath
@@ -200,6 +208,9 @@ if ($Artifact.Status -eq 'Present') {
200
208
201
209
$null = $ResultBuilder.AppendLine ($CopyBuilder.ToString ().Trim().TrimEnd(' ``' ))
202
210
$null = $ResultBuilder.AppendLine (' ' )
211
+
212
+ $null = $ResultBuilder.AppendLine ($AclBuilder.ToString ().Trim().TrimEnd(' ``' ))
213
+ $null = $ResultBuilder.AppendLine (' ' )
203
214
}
204
215
}
205
216
0 commit comments