I'd thought that this was possible, simply by creating an additional script with the same name as the command and ensuring it is dot sourced in subscriber.ps1

However, that doesn't work: I get back:

2014-10-28 23:09:54 [1664@380] (trace): ReceiveDocumentHandler_parse() parsing incoming document
2014-10-28 23:09:54 [1664@380] (trace): ReceiveDocumentHandler_parse() read command
2014-10-28 23:09:54 [1664@380] (trace): Received.
2014-10-28 23:09:54 [1664@380] (trace): <nds ndsversion="8.x" dtdversion="4.0">
2014-10-28 23:09:54 [1664@380] (trace): <source>
2014-10-28 23:09:54 [1664@380] (trace): <product version="4.0.2.2">DirXML</product>
2014-10-28 23:09:54 [1664@380] (trace): <contact>Novell, Inc.</contact>
2014-10-28 23:09:54 [1664@380] (trace): </source>
2014-10-28 23:09:54 [1664@380] (trace): <input>
2014-10-28 23:09:54 [1664@380] (trace): <trigger event-id="0">
2014-10-28 23:09:54 [1664@380] (trace): <add-attr attr-name="FirstName">
2014-10-28 23:09:54 [1664@380] (trace): <value type="string" timestamp="1211192938#5">John</value>
2014-10-28 23:09:54 [1664@380] (trace): </add-attr>
2014-10-28 23:09:54 [1664@380] (trace): </trigger>
2014-10-28 23:09:54 [1664@380] (trace): </input>
2014-10-28 23:09:54 [1664@380] (trace): </nds>
2014-10-28 23:09:54 [1664@380] (trace): Received document for subscriber channel
2014-10-28 23:09:54 [1664@380] (drv_connection): Connection_queueDocument: starting
2014-10-28 23:09:54 [1664@380] (drv_connection): Connection_queueDocument: ending
2014-10-28 23:09:54 [1664@380] (drv_connection): Connection_receiveBytes: starting
2014-10-28 23:09:54 [1664@380] (trace): Waiting for receive...
2014-10-28 23:09:54 [1664@324] (drv_connection): Connection_receiveBytesWithCommand: ending
2014-10-28 23:09:54 [1664@324] (drv_driver): Driver_registerObjectDn: starting
2014-10-28 23:09:54 [1664@324] (drv_driver): Driver_registerObjectDn: ending
2014-10-28 23:09:54 [1664@324] (trace): Calling SubscriptionShim.execute()
2014-10-28 23:09:54 [1664@324] (trace): --->DriverShim subscriber execute()..
2014-10-28 23:09:54 [1664@324] (trace): --->DriverShim subscriber dispatch() command = trigger
2014-10-28 23:09:54 [1664@324] (trace): --->DriverShim subscriber dispatch() finished
2014-10-28 23:09:54 [1664@324] (trace): SubscriptionShim.execute() returned:
2014-10-28 23:09:54 [1664@324] (trace): <nds dtdversion="1.1" ndsversion="8.6">
2014-10-28 23:09:54 [1664@324] (trace): <source>
2014-10-28 23:09:54 [1664@324] (trace): <product version="4.0.2" build="Apr 22 2014 15:39:53" />
2014-10-28 23:09:54 [1664@324] (trace): <contact />
2014-10-28 23:09:54 [1664@324] (trace): </source>
2014-10-28 23:09:54 [1664@324] (trace): <output>
2014-10-28 23:09:54 [1664@324] (trace): <status event-id="0" level="error">Unsupported command: trigger</status>
2014-10-28 23:09:54 [1664@324] (trace): </output>
2014-10-28 23:09:54 [1664@324] (trace): </nds>

Is the list of approved operations hardcoded into the driver shim? If I want to have an additional operation (trigger above was just an example) is that not supported?