在登录脚本中使用$ env:username不起作用

时间:2012-08-08 22:58:38

标签: powershell group-policy gpo

我将此设置与GPO一起作为登录脚本运行,显然是为客户端映射驱动器。

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

死简单。如果我输入一个特定的用户名来代替变量那么它就可以了。此外,如果我直接在客户端计算机上运行此脚本,则可以正常运行。

3 个答案:

答案 0 :(得分:0)

你收到错误吗?如果用双引号包装路径会有帮助吗?

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在.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");