1

以下のスクリプトを実行すると、次のエラーが表示されます: Set-ScheduledTask : 指定されたパスが無効です。

$Action = New-ScheduledTaskAction -Execute """C:\Program Files\Sync\Sync.exe""" -Argument "C:\ProgramData\Sync\Script.bat"
Set-ScheduledTask  -TaskName "Task Name" -TaskPath "\SFTP Schedules\Non-Live\" -Action $Action

これがフォルダ構造です。

タスク スケジューラ フォルダ

誰でも理由がわかりましたか?

4

1 に答える 1

0

アカウントがサーバーの管理者グループに属している限り、コードは問題ありません。作成者でなくても、タスクを変更できるはずです。PowerShellまた、コンソールを管理者として実行していることを確認してください。

ただし、あなたがrunAsユーザーでない場合は、タスクを編集できるようにそのユーザーの資格情報を提供する必要があります。

Set-ScheduledTask -Password "password" -User "Domain\User" -TaskName "name" -TaskPath ... 

スケジュールされたタスク フォルダー内のすべてのタスクをエクスポートしてXML、作成者を置き換えるXML場合は、次のコードを使用できます。エクスポートするフォルダーに合わせて変更$_.TaskPath -eq '\'します。

$XMLDestFolder = "C:\XML\"
Get-ScheduledTask | ?{$_.TaskPath -eq '\'} | %{
    $TaskXML = Export-ScheduledTask -TaskName $_.TaskName
    $TaskXML -replace "(?<=<Author>).*?(?=</Author>)","ADFP\NETMANFP" > "$XMLDestFolder$($_.TaskName).xml" 
} 
于 2016-10-13T09:13:40.683 に答える