[英]Using $env:username in a logon script is not working
我使用GPO进行此设置,以作为登录脚本运行,显然是为客户端映射驱动器。
net use H: \\server1\share\$env:username
死了很简单。 如果我在变量中放置了一个特定的用户名,那么它将起作用。 另外,如果我直接在客户端计算机上运行此脚本,它将起作用。
收到错误消息吗? 如果将路径用双引号引起来,是否有帮助?
"\\server1\share\$env:username"
不管有没有引号,它都可以工作。 客户端都是Windows 7吗? 我相信即使安装了Powershell,Powershell登录/启动脚本也无法在较早版本上运行,因为它是附加组件,而不是本机Shell。 如果使用的是下层客户端,则可以从cmd批处理文件中调用powershell脚本。 但是,如果要执行此操作,则最好跳过Powershell并仅从批处理文件中运行net use H:\\\\server1\\share\\%username%
。
在.bat文件中将其作为登录脚本运行(使用FQDN作为服务器名称):
net use H: \\server.example.com\share\%USERNAME%
如果这不起作用,则您的GPO尚未应用。 您可以通过在机器上运行gpupdate /force
来强制执行该操作。 为了进行测试,请确保将GPO应用于“经过身份验证的用户”组的正确OU(计算机也在该组中)。 并且,如果这不起作用,您还可以“强制执行” GPO。 对GPO或其设置进行任何更改后,请不要忘记执行gpupdate /force
。
您还可以尝试.js登录脚本,例如:
var WSH = new ActiveXObject("WScript.Shell"); // Map share WSH.Run("net use H: \\\\server.example.com\\share");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.