如何通过PowerShell为共享文件夹配置共享页签的用户权限
解决方法
首先明确:你提到的「共享页签」对应的是共享权限,「安全页签」对应的是NTFS权限。你当前的New-SmbShare命令是在创建共享时设置共享权限的,但如果要给已存在的共享添加用户权限,得用Grant-SmbShareAccess命令。以下是实现从下拉列表选用户并分配共享权限的完整脚本:
- 获取可选用户列表(以本地用户为例,域环境可替换为域用户查询命令)
# 获取本地已启用的用户列表 $users = Get-LocalUser | Where-Object Enabled -eq $true | Select-Object Name, FullName
- 弹出下拉选择界面让用户挑选目标用户
$selectedUser = $users | Out-GridView -Title "选择要分配共享权限的用户" -OutputMode Single if (-not $selectedUser) { Write-Host "未选择用户,脚本退出" exit } # 格式化用户身份标识(本地用户格式:计算机名\用户名) $userIdentity = "$env:COMPUTERNAME\$($selectedUser.Name)"
- 为目标共享分配权限
# 指定要操作的共享名称 $targetShare = "Test" # 给选中用户分配完全控制的共享权限,-Force跳过确认提示 Grant-SmbShareAccess -Name $targetShare -AccountName $userIdentity -AccessRight FullAccess -Force
- 验证权限是否生效
# 查看该共享的所有权限配置 Get-SmbShareAccess -Name $targetShare
补充说明
- 域环境下,将获取用户的命令替换为
Get-ADUser -Filter * | Select-Object Name, UserPrincipalName,并把$userIdentity改为域名\用户名或用户UPN格式。 - 若需要分配只读/修改权限,将
-AccessRight参数的值改为Read或Change即可。 - 要移除用户权限,可使用
Revoke-SmbShareAccess命令。
内容的提问来源于stack exchange,提问作者Abhimanyu
相关产品推荐
相关产品推荐

