Попытка использовать xmlstarlet для изменения экспортированной задачи Windows
Пример задания:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2014-02-10T11:57:03</Date>
<Author>client</Author>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<StartBoundary>2014-02-10T11:57:00</StartBoundary>
<Enabled>true</Enabled>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>DOMAIN\client</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>P7D</ExecutionTimeLimit>
<Priority>7</Priority>
<RestartOnFailure>
<Interval>PT1M</Interval>
<Count>10</Count>
</RestartOnFailure>
</Settings>
<Actions Context="Author">
<Exec>
<Command>"script"</Command>
</Exec>
</Actions>
</Task>
Я хочу изменить <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
и <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
на "false".
используя XMLStarlet на winodws версии 1.5.0 И, на мой взгляд, это должно работать:
xml ed -u "Task/Settings/DisallowStartIfOnBatteries" -v false sampletask.xml
Но это дает мне: Ни один из XPath не совпал; чтобы соответствовать узлу в пространстве имен по умолчанию, используйте префикс '' (см. раздел 5.1 в руководстве). Например, используйте /:node вместо /node.
Глядя на человека под 5.1, но я все еще не стал умнее :-( Проверено
xml ed -u -N k=http://schemas.microsoft.com/windows/2004/02/mit/task" /k:Task/Settings/DisallowStartIfOnBatteries" -v false IneraLogon.xml
но это дает мне
failed to load external entity "k=http://schemas.microsoft.com/windows/2004/02/mit/task"
Проверка и http://schemas.microsoft.com/windows/2004/02/mit/task не работает.
у кого-нибудь есть предложение о том, как двигаться дальше?
Должен ли я просто перейти и попробовать вместо этого использовать sed для окон?