【发布时间】:2017-01-19 12:30:42
【问题描述】:
好的,我在这里看到了关于这个问题的答案,但我不明白,下一步是什么。 The original question 如果我想让这条线工作,我该怎么办
$from = "$dirFiles\config.xml"
$to = "C:\Users\$env:USERNAME\AppData\Roaming\Folder\Folder\config.xml"
Copy-Item $from $to -recurse
因为 $env:username 在通过 SCCM 部署时解析为我的计算机名称。我应该如何以及在哪里输入:
([Security.Principal.WindowsIdentity]::GetCurrent()).Name.replace("$ENV:USERDOMAIN\","")
希望你能理解我
edit** 感谢 bluuf 和 Syberdoor,他们为我指明了正确的方向
**$CurrentUser = (Get-LoggedOnUser).UserName**
$from = "$dirFiles\config.xml"
$to = "C:\Users\$CurrentUser\AppData\Roaming\Folder\Folder\config.xml"
Copy-Item $from $to -recurse
【问题讨论】:
-
我肯定不知道,你想达到什么目的?
-
我正在尝试让 powershell 和 SCCM 将文件复制到运行安装程序的计算机上的 Appdata 用户文件夹中。但我收到文件夹 C:\Users\"Computername"\ 不存在的错误。所以 SCCM 或 powershell 将 $env:USERNAME 变量解析为计算机名而不是登录的用户名。
-
所以显而易见的问题是,如果没有人登录,您如何期望它是用户名?您希望获得哪个用户?
-
部署设置为仅在用户登录时安装,所以我希望获得登录用户名
标签: powershell environment-variables administrator sccm non-admin