One way to do this is using PowerShell.
We know each KB is deployed as a single model, and we know each model installed will have a unique ID. This ID is incremented automatically by the system, so why not just sort on it, in a descending fashion.
Look at the following PowerShell command:
axmodel | where {$_.Name -match 'KB'} | sort modelid -Descending | select modelid, displayname, version, description, details -first 10 | out-gridview
I assume the default environment picked up by the command "axmodel" (alias for Get-AXModel) is the one we want to query. You can put in a "-Verbose" after the command if you'd like to see some verbose information about what ModelStore database the command operates on.
I then add a filter on the list, making sure I only get models having a match on "KB" in the Name property. I could also have looked for the word "hotfix" in the Description property. The string is not case sensitive.
I then pipe the result to a sorting where I want the list sorted descending on the ModelId.
I select out only some of the columns, and I also pick out the first 10 of the result.
Finally I send the result to the GridView Window, just because I like to see the result in a nice window (which allow for resizing, column resizing, filtering, etc).
Notice also that I can have this entire command on multiple lines, and the trick is that PowerShell will allow this when you use Pipe (|) like I am doing above. Otherwise, a line-break is interpreted as execution of a command, so be aware of that when running a "multi-line" PowerShell command.
You can also use the example above to do other things, like looking for specific KBs and check if they are already installed.
Enjoy!
No comments:
Post a Comment