我有这个带有 GPO 的设置,可以作为登录脚本运行,显然是为了为客户端映射驱动器。
net use H: \\server1\share\$env:username
死的简单。如果我输入一个特定的用户名来代替变量,那么它就可以工作。另外,如果我直接在客户端机器上运行这个脚本,它就可以工作。
我有这个带有 GPO 的设置,可以作为登录脚本运行,显然是为了为客户端映射驱动器。
net use H: \\server1\share\$env:username
死的简单。如果我输入一个特定的用户名来代替变量,那么它就可以工作。另外,如果我直接在客户端机器上运行这个脚本,它就可以工作。
这应该在有或没有引号的情况下工作。客户端都是Windows 7吗?我相信 Powershell 登录/启动脚本不适用于早期版本,即使您安装了 Powershell,因为它是附加组件而不是本机 shell。如果您使用的是低级客户端,则可以从 cmd 批处理文件调用 powershell 脚本。但是,如果您要这样做,不妨跳过 Powershell 并net use H:\\server1\share\%username%
从您的批处理文件中运行。
在 .bat 文件中将其作为登录脚本运行(使用 FQDN 作为服务器名称):
净使用 H:\\server.example.com\share\%USERNAME%
如果这不起作用,则您的 GPO 尚未应用。您可以通过在机器上运行来强制执行此操作gpupdate /force
。为了进行测试,请确保将 GPO 应用于组“Authenticated Users”的正确 OU(计算机也在组中)。如果这不起作用,您还可以“强制执行”GPO。不要忘记在gpupdate /force
对 GPO 或其设置进行任何更改后进行操作。
您还可以尝试使用 .js 登录脚本,例如:
var WSH = new ActiveXObject("WScript.Shell"); // 地图分享 WSH.Run("net use H: \\\\server.example.com\\share");
你有错误吗?如果将路径用双引号括起来有帮助吗?
"\\server1\share\$env:username"