Exec solo si el valor del registro no está presente

**EDITAR** **

Encontré una solución jugando:

class add_route
{
        exec { "route_to_internal_network":
                command => "C:\Windows\System32\ROUTE.EXE add 192.168.5.254 mask 255.255.255.255 10.5.5.5 -p",
                unless => "C:\Windows\System32\reg.exe query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes /f 192.168.5.254,255.255.252.0,10.5.5.5,1",
        }
}

Dejaré esta publicación en caso de que alguien más se encuentre con un problema similar

**EDITAR** **

Estoy tratando de escribir un manifiesto de marionetas para agregar una ruta estática persistente a algunos de mis servidores host de Windows. Hasta ahora, estoy pensando en crear una clase que haga:

class add_route
{
    exec { "route_to_internal_network":
        command => "C:\Windows\System32\ROUTE.EXE add 192.168.5.254 mask 255.255.255.255 10.5.5.5 -p",
    }
}

Sin embargo, este manifiesto ejecutará el comando cada vez que el cliente títere se registre con el maestro títere.

Esperaba usaronlyif en mi clase, pero parece un poco confuso cuando intento verificar un valor de registro ausente que contiene mi ruta. ¿Es ésta la mejor manera de hacer ésto? ¿Alguna otra idea?

Me imagino que necesito hacer algo como:

class add_route
{
    exec { "route_to_internal_network":
        command => "C:\Windows\System32\ROUTE.EXE add 192.168.5.254 mask 255.255.255.255 10.5.5.5 -p",
        onlyif => ???
    }
}

Esperaba que mionlyif declaración coincidiría con

C:\Windows\System32\reg.exe query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes /f '192.168.5.254,255.255.255.255,10.5.5.5,1'

Si el resultado del comando anterior es:

Fin de la búsqueda: 0 coincidencias encontradas.

Sin embargo, creo que elonlyif solo está buscando un código de retorno, por lo tanto, se encuentre o no este valor, el comando se completa con éxito.

¿Alguien sabe cómo podría verificar la ausencia de un valor de registro en un manifiesto títere?

Respuestas a la pregunta(1)

Su respuesta a la pregunta