powershell 如何运行一个MSI文件在Windows中当调度从管理员作为一个用户,

yyhrrdl8  于 2023-04-21  发布在  Shell
关注(0)|答案(1)|浏览(241)

我有一个msi文件,我能够推给连接到网络的用户。我能够运行它从任务调度器在窗口作为一个管理员。
但是否可以从管理员安排一个任务,并在windows中以用户身份运行该msi文件。
简而言之:
1,我正在安装和MSI应用程序到域中连接的用户。(应用程序正在安装)
1.当域中的用户登录或工作时,以用户身份运行应用程序。(我能够以管理员用户身份运行安装的脚本)
我想要的是以将要或正在登录到该windows计算机的用户身份运行安装的文件。

$taskName = "My Task2"

 

$taskDescription = "This task runs every 10 second"

 

# Define the task trigger
$trigger = New-ScheduledTaskTrigger -User Sanket.Wagh -AtLogOn
# Define the task action
$taskAction = New-ScheduledTaskAction -Execute "<any application path>"

 
#-Argument "-Command 'Write-Host Hello World'"

 

# Register the task
Register-ScheduledTask -TaskName $taskName -Trigger $trigger -Action $taskAction -Description $taskDescription

这里用户sanket.wagh是静态的。我希望这是动态的,所以它将为所有用户,我推脚本作为一个IT管理员
我对powershell完全陌生,但任何与此相关的帮助或文档都将不胜感激。

h7appiyu

h7appiyu1#

创建scheduled task principal
使用计划任务主体在指定帐户的安全上下文下运行任务。
通过使用interactive users groupid“S-1-5-4”,它应该得到你想要的。
登录进行交互操作的用户。这是一个组标识符,在进程交互登录时添加到该进程的令牌中。
您修改的代码。当任何用户登录时,任务将运行。

# Define the task trigger
$trigger = New-ScheduledTaskTrigger -AtLogOn
# Define the task action
$taskAction = New-ScheduledTaskAction -Execute "<any application path>"

# create a scheduled task princiapl. Specify the interactive users group id. 
$principal = New-ScheduledTaskPrincipal -GroupId "S-1-5-4"
 
#-Argument "-Command 'Write-Host Hello World'"

 

# Register the task. add the "principal" parameter
Register-ScheduledTask -TaskName $taskName -Trigger $trigger -Action $taskAction -Description $taskDescription -Principal $principal

创建的任务

相关问题