
如果您希望在Windows系统中通过PowerShell快速创建网络共享,可以使用内置的New-SmbShare命令。该命令允许管理员以脚本化方式定义共享名称、路径、访问权限及描述信息,无需图形界面操作。以下是具体执行步骤:
一、以管理员身份启动PowerShell
New-SmbShare命令需要提升的权限才能执行成功,普通用户权限将被拒绝。必须确保当前PowerShell会话运行于“管理员”上下文中,否则所有共享创建操作均会失败。
1、点击“开始”菜单,搜索PowerShell。
2、在搜索结果中右键单击“Windows PowerShell”,选择“以管理员身份运行”。
3、在弹出的用户账户控制(UAC)提示框中点击“是”。
二、验证共享路径存在且具有读写权限
PowerShell不会自动创建共享目录,也不会检查NTFS权限是否允许SMB访问。若指定路径不存在或当前系统账户无权访问该路径,New-SmbShare将报错并中止执行。
1、在PowerShell中输入 Test-Path “D:\SharedFolder”(将路径替换为您的实际路径),确认返回值为True。
2、若路径不存在,先执行 New-Item -ItemType Directory -Path “D:\SharedFolder” 创建目录。
3、使用 icacls “D:\SharedFolder” /grant “Everyone:(OI)(CI)F” 授予Everyone完全控制权限(生产环境应限制为特定用户或组)。
三、使用New-SmbShare创建基础共享
此方法适用于单机快速部署,仅设置共享名、本地路径和注释,不显式配置访问权限,依赖默认SMB共享权限策略(通常仅Administrators可访问)。
1、输入命令:New-SmbShare -Name “MyShare” -Path “D:\SharedFolder” -Description “临时文件交换区”。
2、按Enter执行,成功后无输出;若报错,请检查路径是否存在及PowerShell是否为管理员模式。
四、创建带显式权限的共享
通过-PermissionLevel参数可一次性赋予指定安全主体完整控制或只读权限,避免后续手动配置共享权限。该方式更可控,适合明确授权场景。
1、授予域用户组完全控制权限:New-SmbShare -Name “TeamData” -Path “E:\Projects” -Description “项目协作目录” -PermissionLevel Full。
2、授予本地用户只读权限:New-SmbShare -Name “PublicDocs” -Path “C:\Public” -Description “公开文档” -PermissionLevel Read。
五、创建多用户差异化权限共享
当需对不同用户或组分配不同访问级别时,不能依赖-PermissionLevel参数,而应结合-AccessRight参数与-CachedAccounts参数组合使用,实现细粒度控制。
1、先创建无默认权限的共享:New-SmbShare -Name “HRFiles” -Path “F:\HR” -Description “人力资源资料” -FullAccess “DOMAIN\Admins” -ChangeAccess “DOMAIN\HRManagers” -ReadAccess “DOMAIN\HRStaff”。
2、其中-FullAccess指定完全控制,-ChangeAccess指定修改权限(含读取、写入、删除但不含权限更改),-ReadAccess仅允许读取。

评论(0)