我正在编写一个具有管理员权限的,在构建服务器(GitLab Runner)上运行的PowerShell构建脚本。我无法控制此脚本的启动方式。从这个脚本中,我需要启动一个.exe文件。
不幸的是,此可执行文件要在其AppData文件夹中缓存一些文件。由于该exe以管理员身份启动,因此AppData文件夹解析为C:\Windows\system32\config\systemprofile\AppData\
而不是C:\Users\User\AppData\
,这会导致意外行为。
是否可以通过系统服务启动的脚本以普通Windows用户身份启动exe?
在脚本中,我这样检查用户:
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
NT AUTHORITY\SYSTEM