web-dev-qa-db-ja.com

接続が可能であっても、ネットワーク接続状態が原因でスケジュールされたタスクを開始できない

「次のネットワーク接続が利用可能な場合にのみ開始する」という条件が設定されたスケジュールされたタスクがあります。 VPN接続を選択しました。

ただし、VPNが接続されている場合でも、タスクは開始できません。

タスクスケジューラは、ユーザー「MYDOMAIN\administrator」の「\ Backups\Test」タスクを開始できませんでした。追加データ:エラー値:2147750692。

ネットワークが利用できなかったため、タスクスケジューラはタスク "\ Backups\Test"を開始できませんでした。 User Action:タスクで指定されているように、コンピューターが必要なネットワークに接続されていることを確認してください。タスクがネットワークプレゼンスを必要としない場合は、タスク構成からネットワーク条件を削除します。

ネットワーク接続の可用性を検出しない理由はありますか?道に迷いました。

詳細

  • これはWindowsVPN接続であり、サードパーティのVPNソフトウェアは含まれていません。
  • タスクを実行しようとすると、マシンにログインしてVPNにログオンします。
  • 私のVPN接続は間違いなく機能しており、pingなどは正常に機能しています。

エクスポートされたタスクXML

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.Microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2013-12-10T19:46:08.1423901</Date>
    <Author>MYDOMAIN\administrator</Author>
    <Description>Upload backup files to the network.</Description>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2013-12-10T12:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
    <TimeTrigger>
      <StartBoundary>2013-12-11T12:54:01</StartBoundary>
      <Enabled>true</Enabled>
    </TimeTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>MYDOMAIN\administrator</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
    <NetworkSettings>
      <Name>My VPN Connection</Name>
      <Id>{3148EF2F-A10A-4A00-BB87-98A995247E4C}</Id>
    </NetworkSettings>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\upload-backup.cmd</Command>
    </Exec>
  </Actions>
</Task>
1
silent__thought

遅くなりましたが、決してないよりはましです...私は同じ問題を扱っていましたが、(少なくとも私の場合は)タイミングに関連しているようです。このようなVPN接続を確立した後、タスクマネージャーが関連するネットワーク接続が利用可能であると判断できるようになるまでに数秒(通常は5〜10秒)かかるようです。

少し実験して、タスクがほぼ確実に開始される最小の遅延を見つけ、念のために遅延にさらに1秒を追加しました。これが、現在の使用方法です。その遅延は本当に快適に使用できるものではないため、理想的ではありませんが、実際には機能します。

したがって、重要な点は、タスクの実行を少し遅らせることです。

1
Petr H

私の経験では、障害がどのように発生したかに関係なく、「次のネットワーク接続が利用可能な場合にのみ開始する」という条件のチェックを外すことで、この障害を克服できます。

ブロードバンドの常時接続を使用している場合は、インターネット接続の存在をテストする必要はありません。

0
user294140