Я пытаюсь изменить акцию разрешения расшаренных на кучу окон серверов, работающих под управлением либо 2008 R2 или 2012.Изменение разрешений Использование Powershell
Я работал на сценарий, который вы можете найти здесь:
Import-Module ActiveDirectory
$list = Get-ADComputer -Filter 'SamAccountName -like "*FP*"' | Select -Exp Name
foreach ($Computer in $list)
{
Grant-SmbShareAccess -Name User -CimSession Server -AccountName "username" -AccessRight Full -confirm:$false
$acl = (Get-Item \\$Computer\d$\User).GetAccessControl('Access')
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule ("Corp\uc4serv","FullControl","ContainerInherit, ObjectInherit","None","Allow")
$acl.AddAccessRule($rule)
Set-Acl \\$Computer\d$\User $acl
Write-Host -ForegroundColor DarkGreen "Permissions granted on $Computer"
}
Write-Host -ForegroundColor DarkBlue "Command Has Completed"
Но он не работает на серверах 2008 предположительно потому, что они не могут выполнить командлет Get-SmbShareAccess.
То, что я пытаюсь сделать, очень похож на этот пост здесь: How to set share permissions on a remote share with Powershell?, но конкретно на серверах Windows.
Я также нашел этот код на веб-сайте (http://windowsitpro.com/powershell/managing-file-shares-windows-powershell):
$acl = Get-Acl `
\\servername\c$\Users\username\sharetest
$permission = "corp\uc4serv","FullControl","Allow"
$accessRule = New-Object `
System.Security.AccessControl.FileSystemAccessRule `
$permission
$acl.SetAccessRule($accessRule)
$acl |
Set-Acl \\servername\c$\Users\username\sharetest
Но это только устанавливает безопасности на акцию вместо разрешений на акции.
Я также изучил использование команды Net Share, но для того, чтобы изменить права доступа к ней, он должен полностью удалить и повторно создать общий диск.
Я помню поиск ЛО для этого на Google (разрешения на уровне доли, а не безопасности NTFS ACL), и я думаю, что я нашел то, что вам нужно: https://gallery.technet.microsoft.com/Create-a-Share-and-Set-eb177a79 – sodawillow