更改 Powershell 中的访问掩码(文件共享权限)

Changing the Access Mask in Powershell (File Share Permissions)

我正在尝试使用 PowerShell 在远程服务器上创建共享文件夹,其中 Everyone 需要具有完全控制权限。在 Security 中更改它真的很容易,但是对于 Share Permission,网络上没有那么多信息。 虽然我可以获得有关访问掩码的信息:

$folder='Profile'
$setting = get-wmiobject -Class Win32_LogicalShareSecuritySetting -ComputerName nano-03 -filter "Name='$folder'"


$setting.GetSecurityDescriptor().Descriptor.Dacl | Select @{Name="Domain";Expression={$_.Trustee.Domain}},@{Name="Name";Expression={$_.Trustee.Name}},AccessMask


#here is more specify
$setting.GetSecurityDescriptor().Descriptor.Dacl | Where {$_.trustee.name -eq 'Everyone'} 

值是 1179817,但我需要它是 2032127 才能完全控制

有一个方法SetSecurityDescriptor(),但我不知道如何正确使用它。有人有想法吗?

谢谢!

由于您使用的是最新版本的 PowerShell,您可以使用 New-SmbShare 创建共享并设置权限:

New-SmbShare –Name MySharedFolder –Path C:\folder\MySharedFolder -FullAccess Everyone

这不能 运行 直接针对远程计算机,因此您需要使用 Invoke-Command 远程 运行 它:

Invoke-Command -ComputerName server1 -ScriptBlock { New-SmbShare –Name MySharedFolder –Path C:\folder\MySharedFolder -FullAccess Everyone }