IAS is as flexible as or more flexible than any other platform out on the market in terms of the breadth of programming possibilities. The concept of inheritance makes it possible to make changes at a template level and all of its children (templates & instances) will be changed too. Equally as powerful is IAS’s inclusion of .NET in their QuickScript language.
Including .NET in scripting has opened up a ton of interesting possibilities. All of the .NET functions are available to be used in scripting. If there is some specialty code you need to write in C++ or C# or want to wrap up for intellectual property reasons, you can write your own dll’s. Some of the .NET libraries are not included by default & anything you write yourself most certainly won’t be there. Non-standard libraries can be added to the Galaxy through the IDE by going to Galaxy –> Import –> Script Function Library.
One of the downsides to using .NET functions in IAS is having to fully qualify every reference to the .NET library. At a minimum, static calls and data type references require this. See the example below.
Dim RE as System.Text.RegularExpressions.Regex;
Dim Result as Boolean;
‘ Create Regex Object
RE = New System.Text.RegularExpressions.Regex();
‘ Setup Regex Object
Result = RE.IsMatch("Test,string", ",");
If you’re browsing around or can’t remember the exact syntax of a function, then you can use the function browser to look up the function:
With .NET in your tool bag, you now access LDAP (Active Direcory), WMI/WQL (local & remote computer management including services), regex (regular expressions text pattern matching), other text functions (split / join), file system access, collections, and many more. Future articles will go into much more detail on specific uses of .NET in IAS including covering gaps in IAS’s security scheme.