我有一个运行和管理多个进程的Windows服务。 根据任务管理器的“详细信息”选项卡,所有进程都在用户帐户下运行。因此,其中一个过程是执行PowerShell脚本来执行一些需要本地用户帐户的操作。
我尝试登录$env:username
,它说PowerShell脚本是在系统帐户下执行的。
如果在Windows服务没有任何帮助的情况下手动启动该过程,那么PowerShell脚本将成功执行,并且还会记录$env:username
是本地登录的用户帐户。
注意:Windows服务正在使用CreateProcessAsUser方法启动那些进程,该方法应该以本地用户帐户启动子进程。但是似乎任务管理器似乎在用户帐户下显示其运行,但在后台却在系统帐户下运行。
谁能告诉我如何使用本地用户帐户执行脚本?
我用来运行PowerShell脚本的cmd是
Powershell.exe -NoProfile -ExecutionPolicy Unrestricted -Command ../powershellscript.ps1