Powershell 在登录脚本中使用$env:username无效

Powershell 在登录脚本中使用$env:username无效,powershell,group-policy,gpo,Powershell,Group Policy,Gpo,我有一个GPO作为登录脚本运行的设置,显然是为了为客户端映射驱动器 net use H: \\server1\share\$env:username 非常简单。如果我用一个特定的用户名来代替变量,那么它就可以工作了。另外,如果我直接在客户机上运行此脚本,它也可以工作。您是否收到错误?如果用双引号将路径括起来会有帮助吗 "\\server1\share\$env:username" 无论有无引号,都可以使用。客户端都是Windows7吗?我相信Powershell登录/启动脚本在早期版本上不起

我有一个GPO作为登录脚本运行的设置,显然是为了为客户端映射驱动器

net use H: \\server1\share\$env:username

非常简单。如果我用一个特定的用户名来代替变量,那么它就可以工作了。另外,如果我直接在客户机上运行此脚本,它也可以工作。

您是否收到错误?如果用双引号将路径括起来会有帮助吗

"\\server1\share\$env:username"

无论有无引号,都可以使用。客户端都是Windows7吗?我相信Powershell登录/启动脚本在早期版本上不起作用,即使您安装了Powershell,因为它是一个附加组件而不是本机shell。如果您使用的是底层客户端,则可以从cmd批处理文件中调用powershell脚本。但如果要这样做,不妨跳过Powershell,从批处理文件中运行
net use H:\\server1\share\%username%

在.bat文件中运行此文件作为登录脚本(使用FQDN作为服务器名称):


没有错误。日志里什么都没有。我试过双引号。 net use H: \\server.example.com\share\%USERNAME% var WSH = new ActiveXObject("WScript.Shell"); // Map share WSH.Run("net use H: \\\\server.example.com\\share");