我正在尝试创建一个powershell脚本来创建一个按需运行命令的计划任务。下面是我到目前为止所掌握的代码。
$taskName = "TestTask"
$taskPath = "<taskdir>"
$user = "$env:USERDOMAIN\$env:USERNAME"
$response = Read-host "What's your password?" -AsSecureString
$password=[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($response))
$action = New-ScheduledTaskAction -Execute "task.cmd"
$settings = New-ScheduledTaskSettingsSet -Compatibility WIN8
$principal = New-ScheduledTaskPrincipal -UserId Administrator -LogonType S4U -RunLevel Highest
$inputObject = New-ScheduledTask -Action $action -Principal $principal - Settings $settings
Register-ScheduledTask -TaskName $taskName -taskpath $taskPath -InputObject $inputObject -user $user -password $Password
这可以很好地设置任务,我所要寻找的唯一东西是能够从管理组中的任何用户运行任务,而管理员(任务是以其身份运行)没有登录,我不想存储密码。当我通过GUI设置一个任务时,我可以选择要运行的按钮,不管用户是否登录,上面的代码实现了这一点。但它不会选中框说不要存储密码。当我在powershell中运行以下命令查看创建的任务的属性时,输出如下
get-scheduledtask testtask | select -ExpandProperty principal
DisplayName :
GroupId :
Id : Author
LogonType : Password
RunLevel : Highest
UserId : WIN-REH2TQO7H7S\Administrator
ProcessTokenSidType : Default
RequiredPrivilege :
PSComputerName :
如果在通过GUI创建的任务上运行相同的命令(不保存密码检查),则会得到以下结果
get-scheduledtask testtask | select -ExpandProperty principal
DisplayName :
GroupId :
Id : Author
LogonType : S4U
RunLevel : Highest
UserId : WIN-REH2TQO7H7S\Administrator
ProcessTokenSidType : Default
RequiredPrivilege :
PSComputerName :
我发现的唯一不同是LogonType是S4U还是密码。所以在我的powershell中我添加了
$principal = New-ScheduledTaskPrincipal -UserId Administrator -LogonType S4U -RunLevel Highest
但是,即使在代码中将LogonType设置为S4U,它仍然在创建密码时将其设置为密码。我可以进入GUI并在powershell代码运行后对任务进行物理更改,并选中设置正确的复选框。但是,有谁知道为什么代码不这样做呢?还是我漏掉了什么?
谢谢你能提供的帮助,
麦克。
发布于 2015-10-16 12:10:13
我正在寻找类似的东西,使用本地管理帐户与‘不存储密码’启用。你的帖子让我走上了正确的轨道,我的现在开始工作了。
试一试:
Register-ScheduledTask -TaskName $taskName -taskpath $taskPath -InputObject $inputObject
如果失败,尝试将主体放在行中,并将其从InputObject中删除:
Register-ScheduledTask -TaskName $taskName -Action $action -Principal $Principal
https://stackoverflow.com/questions/32727042
复制相似问题