Keeping PAKs
How not to lose permanent PAKs
In my work life, I manage a bunch of systems that all fall under the realm of our DSPP agreement. Every year, I download a new set of license PAKs (similar, but different, than the hobbyist PAKs). And every year, I have to tweak the file to ensure it doesn't trash any of our permanent licenses on any of the systems.
This year, I came up with a slightly more elegant way to accomplish this.
First, here's a sample excerpt from the license file (checksums have been changed to protect HP's intellectual property):
$! This PAK issued on 16-Sep-2007 11:38
$ license disable/log BASIC/all
$ LICENSE REGISTER BASIC -
/ISSUER=DEC -
/AUTHORIZATION=DSPP-VMS-NOV08 -
/PRODUCER=DEC -
/UNITS=0 -
/TERMINATION_DATE=1-NOV-2008 -
/ACTIVITY=CONSTANT=100 -
/CHECKSUM=2-DECA-BLOG-ALPH-AFPJ
$!
$ license unload/log BASIC /producer=DEC
$ license enable BASIC /auth=DSPP-VMS-NOV08 /producer=DEC
$ license load BASIC /producer=DEC
I added a test to see if there was an existing product out there with a termination date prior to the listed termination date of the above new PAK, and only if the $Status checked out would the above segment run.
It now looks like this (my changes are in red):
$! This PAK issued on 16-Sep-2007 11:38
$ Show license BASIC/before/termin=1-NOV-2008
$ if $Status .eqs. "%X1078819B"
$ then
$ license disable/log BASIC/all
$ LICENSE REGISTER BASIC -
/ISSUER=DEC -
/AUTHORIZATION=DSPP-VMS-NOV08 -
/PRODUCER=DEC -
/UNITS=0 -
/TERMINATION_DATE=1-NOV-2008 -
/ACTIVITY=CONSTANT=100 -
/CHECKSUM=2-DECA-BLOG-ALPH-AFPJ
$!
$ license unload/log BASIC /producer=DEC
$ license enable BASIC /auth=DSPP-VMS-NOV08 /producer=DEC
$ license load BASIC /producer=DEC
$ endif
I used TPU's LEARN feature to quickly apply these changes throughout the file. Now I can use this one file on all of my systems, regardless of what permanent licenses may exist, and I don't have to worry about them unloading a perfectly good permanent license!
one comment:
I’ve been working with HP, and they discovered a bug in the above. The correct $Status code should be ”%X10000001”. I’ve tested this on 7.1-2 through 8.3-1H1 machines and it works correctly. I have no clue where I got that other error code…
I’ll also recommend adding a /NoOutput to the $ Show license command, so the results look like this:
| $ Show license BASIC /NoOutput /Before /Termination=1-NOV-2008 $ If $Status .eqs. ”%X10000001” $ then |
[Aaron] () (URL) - 16-Dec-2008 - 09:53
No trackbacks: