You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于通过SSMS创建服务器用户及RDP用户执行权限的技术问询

问题1:能否通过Microsoft SQL Server Management Studio(SSMS)在服务器上创建用户?

首先得明确:SSMS本质是SQL Server的专属管理工具,没法直接通过它的图形界面创建Windows服务器的本地/域用户——毕竟Windows用户是操作系统层面的对象,SSMS的核心职责是管理SQL Server实例和数据库相关对象。

不过如果你非要通过SSMS来实现这个操作,也不是不行:可以借助SQL Server的扩展存储过程xp_cmdshell来调用Windows的net user命令创建用户,但得满足两个前提:

  • 运行SQL Server的服务账户得有创建Windows用户的权限(一般得是服务器本地管理员);
  • xp_cmdshell功能得先启用,它默认是禁用的,因为有安全风险。
问题2:Server 2008 R2中执行net user命令报错及SQL Server用户权限配置

你碰到的“System error 5 has occurred. Access is denied”,本质是因为执行net user [username] [password] /add需要Windows本地管理员权限,而你通过SSMS执行这个命令时,背后实际执行的账户(要么是你用的Windows登录账户,要么是SQL Server的服务账户)没拿到足够的操作系统权限。

要让SQL Server用户能在SSMS里顺利执行这个命令,得按下面几步来配置:

1. 先启用xp_cmdshell(如果还没开)

要通过SSMS执行系统命令,得先打开这个扩展存储过程,在SSMS的查询窗口跑下面的SQL:

-- 开启高级选项
sp_configure 'show advanced options', 1;
RECONFIGURE;
-- 启用xp_cmdshell
sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

⚠️ 提醒:xp_cmdshell存在安全风险,用完建议禁用,或者严格限制能使用它的用户范围。

2. 确保执行命令的账户有Windows管理员权限

分两种情况来看:

  • 如果你用的是Windows身份验证登录SQL Server:那这个Windows账户必须是服务器本地管理员组的成员,这样执行net user时才有权限创建用户;
  • 如果你用的是SQL Server身份验证:此时SQL Server会用它自身的服务账户来执行xp_cmdshell命令,所以得把这个服务账户加到服务器的本地管理员组里(注意:给服务账户过高权限会增加安全风险,建议只在必要时这么做,或者用专门的代理账户)。

3. 给SQL Server用户分配xp_cmdshell的执行权限

就算服务账户有权限,你的SQL登录名也得被明确授予使用xp_cmdshell的权限,执行下面的SQL:

-- 把权限授予你的SQL登录名
GRANT EXECUTE ON xp_cmdshell TO [你的SQL登录名];

额外:让创建的用户能远程桌面登录

等你成功创建Windows用户后,要让它能通过RDP登录服务器,还得把它加到Remote Desktop Users组里,同样可以通过SSMS执行命令:

EXEC xp_cmdshell 'net localgroup "Remote Desktop Users" [你的用户名] /add';

内容的提问来源于stack exchange,提问作者Yousef JO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:32:29