You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无管理员权限用户通过Intune推送PowerShell创建计划任务失败求助

解决非管理员用户通过Intune推送PowerShell脚本创建计划任务失败的问题

问题核心原因

非管理员用户默认无权限在计划任务根目录(\)创建任务,仅能在自身专属的用户任务路径下操作;原脚本存在参数搭配错误,未正确启用定义好的任务主体配置,再加上Intune推送时的上下文权限限制,最终导致创建失败。

修复方案及修正后的脚本

1. 关键调整点

  • 指定任务到用户专属路径:非管理员仅能在\Users\<用户名>\Tasks路径下创建任务,避开根目录的管理员权限要求
  • 正确使用ScheduledTaskPrincipal参数:替代原脚本中冲突的-User参数,确保任务主体配置生效
  • 确保脚本路径可访问:将目标脚本放到用户有权限读写的目录(如%USERPROFILE%\Temp)

2. 修正后的完整脚本

# 获取当前用户
$currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

# 定义目标脚本路径(用户可访问的目录)
$scriptPath = "$env:USERPROFILE\Temp\appremove.ps1"

# 确保目标目录存在
if (-not (Test-Path (Split-Path $scriptPath))) {
    New-Item -Path (Split-Path $scriptPath) -ItemType Directory -Force | Out-Null
}

# 定义计划任务操作
$taskAction = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "-ExecutionPolicy Bypass -File `"$scriptPath`""

# 定义任务触发条件:当前用户登录时运行
$taskTrigger = New-ScheduledTaskTrigger -AtLogOn -User $currentUser

# 定义任务设置
$taskSettings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries

# 定义任务主体:当前用户,交互式登录,有限权限
$taskPrincipal = New-ScheduledTaskPrincipal -UserId $currentUser -LogonType Interactive -RunLevel Limited

# 注册计划任务(指定用户专属路径)
$taskName = "AppRemoveTask"
Register-ScheduledTask -Action $taskAction -Trigger $taskTrigger -TaskName $taskName -Principal $taskPrincipal -Settings $taskSettings -TaskPath "\Users\$currentUser\Tasks"

Write-Host "计划任务已创建,将在$currentUser登录时运行 '$scriptPath'。"

额外排查建议

  • 查看Intune执行日志:在事件查看器中定位Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin日志,获取具体失败代码或原因(如权限不足、路径不存在)
  • 验证脚本复制步骤:如果appremove.ps1需要通过Intune推送,先添加Copy-Item命令将脚本从Intune临时目录复制到用户可访问路径
  • 测试用户上下文权限:在非管理员用户本地手动运行修正后的脚本,确认能正常创建任务后再通过Intune推送

内容的提问来源于stack exchange,提问作者Akos81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:51:18