【发布时间】:2021-02-17 12:47:52
【问题描述】:
美好的一天, 请帮助使用powershell脚本。 我使用在系统帐户下作为服务运行的监控工具运行 PS Script。如果我更改为用户帐户,那么一个 bat 脚本将不会终止要终止的进程。
我正在写一个条件,否则。我需要在powershell环境中连续运行三个bat文件。 1bat 终止进程 - 运行 bat 并等待完成 2bat 执行紧凑型数据库 - 运行 bat 并等待完成 3bat 启动进程 - 完成
但是我需要在另一个账户的权限下运行最后3bat,不是在系统下而是在用户xxxxx下
谁能告诉我怎么做?
我知道 poweshell 我将运行 bat 文件。将执行一些任务。但是它们是在账户下执行的:SYSTEM
我尝试在bat文件中设置用户:psexec \a-81yt8j7opm4fb -u user1 -p userpass -d "C:\REPNET-WIN\RepNet97.exe" 但是,进程并没有以这种方式启动
如果我只放入一个 bat 文件: START C:\REPNET-WIN\RepNet97.exe 进程启动,但在 SYSTEM 帐户下。我需要另一个用户:user1
这是通过监控的nsc ++客户端运行脚本时的行为方式。
如果我从命令行手动运行脚本,它可以正常工作。我以管理员身份运行命令行,而不是 user1,也没有问题。
有什么想法吗?
我的 ps1 脚本:$fileToCheck = "C:\REPNET-WIN\Base\RepNet97.mdb" if (Test-Path $fileToCheck -PathType 叶) {Start-Process "C:\Scripts\test.bat";退出 1}
else {write-host ("WARNING: File RepNet97.mdb not found");exit 1}
【问题讨论】:
-
将其粘贴到批处理文件顶部时会发生什么
runas /user:domain\user -
您能否发布您遇到问题的代码
-
如果您需要在用户连接的上下文中运行脚本,您可以使用 Kelvin Tegelaar 创建的 RunAsUser 模块:github.com/KelvinTegelaar/RunAsUser
标签: powershell runas