$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: