01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | $localPath = "C:\testShare" $fullAccessAccounts = 'everyone' , 'authenticated users' function createSmbShare( $localPath , $fullAccessAccounts ){ $ErrorActionPreference = 'stop' try{ # First, create SMB Share $smbShareName = split-path $localPath -leaf New-SmbShare -Name $smbShareName -Path $localPath -FullAccess $fullAccessAccounts # Second, set NTFS permissions $acl = Get-ACL $localPath foreach ( $account in $fullAccessAccounts ){ $allowFullAccesss = New-Object System.Security.AccessControl.FileSystemAccessRule( $account , "Full" , "Allow" ) $acl .AddAccessRule( $allowFullAccesss ) } Set-Acl $localPath $acl write-host "\\$env:computername\$smbShareName has been created with full access granted to these users $fullAccessAccounts" } catch{ write-warning $Error [0].Exception.Message return $false } } createSmbShare $localPath $fullAccessAccounts |
Categories: