snap: smb share creation possible without any specification of access rights
This commit is contained in:
parent
13cf824507
commit
b243ac2a36
@ -12,6 +12,14 @@ $ret=$null
|
|||||||
$acls=$null
|
$acls=$null
|
||||||
$rs=$null
|
$rs=$null
|
||||||
|
|
||||||
|
$projPath=$BaseDirectory+$ProjectName
|
||||||
|
Write-Host $projPath
|
||||||
|
$testFolder = Test-Path -Path $projPath -PathType Container
|
||||||
|
|
||||||
|
if($testFolder){
|
||||||
|
throw "Directory already exists. Not creating Folder or Share"
|
||||||
|
}
|
||||||
|
|
||||||
if($PSBoundParameters.ContainsKey("ProjectName")){
|
if($PSBoundParameters.ContainsKey("ProjectName")){
|
||||||
if($PSBoundParameters.ContainsKey("Server")){
|
if($PSBoundParameters.ContainsKey("Server")){
|
||||||
$ret = New-ADGroup -Path $Projects -Server $Server -Name $ProjectName -GroupCategory Security -GroupScope Global -PassThru
|
$ret = New-ADGroup -Path $Projects -Server $Server -Name $ProjectName -GroupCategory Security -GroupScope Global -PassThru
|
||||||
@ -46,30 +54,22 @@ if($PSBoundParameters.ContainsKey("ProjectName")){
|
|||||||
$member = $rs | Where-Object Name -Match ".*-RO"
|
$member = $rs | Where-Object Name -Match ".*-RO"
|
||||||
Add-ADGroupMember -Identity $target -Members $member
|
Add-ADGroupMember -Identity $target -Members $member
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$folder = New-Item -Path $projPath -ItemType Directory
|
||||||
|
|
||||||
$testFolder = Test-Path "$BaseDirectory+$ProjectName" -PathType Container
|
$ReadTarget = $acls | Where-Object Name -Match ".*RW"
|
||||||
|
$WriteTarget = $acls | Where-Object Name -Match ".*RO"
|
||||||
|
|
||||||
if($testFolder){
|
$Parameters = @{
|
||||||
throw "Directory already exists. Not creating Folder or Share"
|
Name=$ProjectName
|
||||||
} else {
|
Path=$projPath
|
||||||
$projPath=$BaseDirectory+$ProjectName
|
|
||||||
Write-Host $projPath
|
|
||||||
$folder = New-Item -Path $projPath -ItemType Directory
|
|
||||||
|
|
||||||
$ReadTarget = $acls | Where-Object Name -Match ".*RW"
|
|
||||||
$WriteTarget = $acls | Where-Object Name -Match ".*RO"
|
|
||||||
|
|
||||||
$Parameters = @{
|
|
||||||
Name=$ProjectName
|
|
||||||
Path=$projPath
|
|
||||||
ChangeAccess=$WriteTarget.SID
|
|
||||||
ReadAccess=$ReadTarget.SID
|
|
||||||
}
|
|
||||||
|
|
||||||
$share = New-SmbShare @Parameters
|
|
||||||
$share|Set-SmbShare -FolderEnumerationMode AccessBased
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$share = New-SmbShare @Parameters
|
||||||
|
$share|Set-SmbShare -FolderEnumerationMode AccessBased
|
||||||
|
|
||||||
|
|
||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user