当您以管理员身份运行时,用户会话会从您的用户会话更改为基于%SystemRoot%\System32. 您需要做的是获取当前调用 Powershell 脚本的路径并将其设为脚本的路径build1.ps1:
$ScriptPath = Split-Path $MyInvocation.InvocationName
& "$ScriptPath\build1.ps1" -Target prepare-qa
Run Code Online (Sandbox Code Playgroud)
这样,无论用户如何,脚本都会在适当的位置执行。