繁体   English   中英

当SCCM以管理员身份运行脚本并以非管理员身份登录时,$ ENV:USERNAME返回计算机名称

[英]$ENV:USERNAME returns the machine name when SCCM runs a script as admin with a non-admin logged in

非管理员登录时,我有一个需要从软件中心运行的脚本。

它需要将应用程序数据复制到$ENV:USERNAME\\AppData\\<dir>\\* (除其他外),并且需要以管理员身份运行才能正常工作。

我发现的问题是,当脚本在具有管理员特权的非管理员配置文件上运行时,环境变量$ENV:USERNAME返回计算机名称,而不是实际登录的用户名。

有没有解决的办法?

您可以使用([Security.Principal.WindowsIdentity]::GetCurrent()).Name或从注册表获取配置文件路径:

HKEY_CURRENT_USER\Volatile Environment\APPDATA
HKEY_CURRENT_USER\Volatile Environment\LOCALAPPDATA
HKEY_CURRENT_USER\Volatile Environment\USERPROFILE

选择你的武器 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM