From PowerShell, you can use the Get-F5.iControl cmdlet to get access to all of the iControl API defined in the API Reference at: https://devcentral.f5.com/wiki/iControl.APIReference.ashx
Here's a function that you can use to remove an iRule
function Remove-iRule()
{
param([string]$virtual, [string]$rule_name);
Create Parameters
$virtual_servers = @($virtual);
$rule = New-Object -TypeName iControl.LocalLBVirtualServerVirtualServerRule;
$rule.rule_name = $rule_name;
$rule.priority = 0;
$rules = @($rule);
(Get-F5.iControl).LocalLBVirtualServer.remove_rule(
$virtual_servers,
$rules
);
}
It's basically the same function as the one above, but using the remove_rule method.
For the remove_rule function, the priority parameter int eh VirtualServerRule parameter is ignored.
The other Cmdlet's in the PowerShell library were included for some sample use cases but they don't cover everything. For use cases outside of those included, we recommend using the Get-F5.iControl cmdlet to return the core API interfaces object and acting on that. You can build local script functions that mimic your use cases and use them according.
In looking for feature ability, I'd get familiar with the iControl API from the above APIReference link first. You can then get to all those methods from the Get-F5.iControl cmdlet.
Hope this helps...
-Joe