答案 0 :(得分:4)
以管理员身份运行时,用户会话将从您的用户会话更改为基于%SystemRoot%\System32
的会话。您需要做的是获取Powershell脚本当前调用的路径,并使其成为build1.ps1
脚本的路径:
$ScriptPath = Split-Path $MyInvocation.InvocationName
& "$ScriptPath\build1.ps1" -Target prepare-qa
这样,无论用户如何,脚本都会在适当的位置执行。
答案 1 :(得分:1)
以用户身份打开PowerShell时,默认目录为C:\Users\MyName
。
当您以管理员身份打开PowerShell时,默认目录为C:\WINDOWS\System32
。
在您的脚本中,尝试使用Set-Location C:\Users\myusername
或脚本所在的位置。或者,完全符合脚本的路径。