Skip to content

Commit e6500f2

Browse files
Merge pull request #19 from AngryProgrammerInside/2021-02-20-CustomServices
2021 02 20 custom services
2 parents 4cadd64 + 67139b3 commit e6500f2

28 files changed

Lines changed: 497 additions & 116 deletions

AMPs/Refresh Agent Token.amp

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Policy ID="9548e8a4-b3b5-4f80-bb04-e58046f14b4d" Name="Refresh Agent Token" Description="IyBBTVBMaWZpZWQgdmVyc2lvbiBvZiBBTUUtSnVzdGluJ3MgdG9rZW4gcmVmcmVzaCBzY3JpcHQgYXMgaW5zcGlyZWQgYnkgQ2hyaXMgUmVpZCwgYnkgRGF2aWQgQnJvb2tzDQojIFZlcnNpb24gMS4wLjANCiMgTm90ZTogUmVxdWlyZXMgZm9sbG93aW5nIE5DIFJvbGUgcGVybWlzc2lvbnMNCiMgPiBEZXZpY2VzIC0+IE5ldHdvcmsgRGV2aWNlcyAtPiBFZGl0IERldmljZSBTZXR0aW5ncyBbUmVhZCBPbmx5XQ0KIyA+IERldmljZXMgLT4gTmV0d29yaw==" Version="2.15.1.3" RemoteCategory="0" ExecutionType="Local" MinimumPSVersionRequired="0.0.0">
2+
<Object ID="{436f946e-cc9c-4fcc-a1c0-1905a73f63fe}" Type="{B6FA6D8B-EEAA-47A6-8463-7F9A4F5BBB6E}" Data="&lt;xml&gt;&lt;Parameters&gt;&lt;Parameter ParameterName=&quot;username&quot; Label=&quot;Username&quot; ParameterType=&quot;string&quot; Value=&quot;&quot; /&gt;&lt;Parameter ParameterName=&quot;password&quot; Label=&quot;Password&quot; ParameterType=&quot;password&quot; Value=&quot;&quot; /&gt;&lt;Parameter ParameterName=&quot;serverHost&quot; Label=&quot;N-Central FQDN&quot; ParameterType=&quot;string&quot; Value=&quot;&quot; /&gt;&lt;Parameter ParameterName=&quot;expirationTolerance&quot; Label=&quot;Expiration Tolerance&quot; ParameterType=&quot;number&quot; Value=&quot;&quot; /&gt;&lt;Parameter ParameterName=&quot;JWT&quot; Label=&quot;JWT&quot; ParameterType=&quot;password&quot; Value=&quot;&quot; /&gt;&lt;/Parameters&gt;&lt;/xml&gt;" />
3+
<LinkManager xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PolicyExecutor">
4+
<hashset xmlns:d2p1="http://schemas.datacontract.org/2004/07/System" />
5+
</LinkManager>
6+
<Activity mc:Ignorable="sads sap" x:Class="Policy Builder" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:p="clr-namespace:PolicyExecutor;assembly=PolicyExecutionEngine" xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
7+
<x:Members>
8+
<x:Property Name="PolicyGUID" Type="InArgument(x:String)" />
9+
</x:Members>
10+
<sap:VirtualizedContainerService.HintSize>504,745</sap:VirtualizedContainerService.HintSize>
11+
<mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings>
12+
<p:PolicySequence DisplayName="Policy Builder" sap:VirtualizedContainerService.HintSize="504,745" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces">
13+
<p:PolicySequence.Activities>
14+
<p:RunPowerShellScript AssemblyName="PolicyExecutionEngine, Version=2.16.1.15, Culture=neutral, PublicKeyToken=null" DisplayName="Run PowerShell Script" sap:VirtualizedContainerService.HintSize="468,522" Moniker="7f8a62ca-e6ff-4bf1-9c9c-de8b19c4c94c" OutPut_64="[RunPowerShellScript_OutPut_64]" Result="[RunPowerShellScript_Result]" ResultString="[RunPowerShellScript_ResultString]" Results_x64="[RunPowerShellScript_Results_x64]" RunAsCurrentLoggedOnUser="False" ScriptExecutionMethod="ExecuteDebug" TypeName="RunPowerShellScript" genArgEvent="be5e37b6-00b5-46d1-b4fd-f5932cb40e8e" m_bTextLinkChange="False" script="IwAgAEEATQBQAEwAaQBmAGkAZQBkACAAdgBlAHIAcwBpAG8AbgAgAG8AZgAgAEEATQBFAC0ASgB1AHMAdABpAG4AJwBzACAAdABvAGsAZQBuACAAcgBlAGYAcgBlAHMAaAAgAHMAYwByAGkAcAB0ACAAYQBzACAAaQBuAHMAcABpAHIAZQBkACAAYgB5ACAAQwBoAHIAaQBzACAAUgBlAGkAZAAsACAAYgB5ACAARABhAHYAaQBkACAAQgByAG8AbwBrAHMADQAKACMAIABWAGUAcgBzAGkAbwBuACAAMQAuADAALgAwAA0ACgAjACAATgBvAHQAZQA6ACAAUgBlAHEAdQBpAHIAZQBzACAAZgBvAGwAbABvAHcAaQBuAGcAIABOAEMAIABSAG8AbABlACAAcABlAHIAbQBpAHMAcwBpAG8AbgBzAA0ACgAjACAAPgAgAEQAZQB2AGkAYwBlAHMAIAAtAD4AIABOAGUAdAB3AG8AcgBrACAARABlAHYAaQBjAGUAcwAgAC0APgAgAEUAZABpAHQAIABEAGUAdgBpAGMAZQAgAFMAZQB0AHQAaQBuAGcAcwAgAFsAUgBlAGEAZAAgAE8AbgBsAHkAXQANAAoAIwAgAD4AIABEAGUAdgBpAGMAZQBzACAALQA+ACAATgBlAHQAdwBvAHIAawAgAEQAZQB2AGkAYwBlAHMAIAAtAD4AIABSAGUAZwBpAHMAdAByAGEAdABpAG8AbgAgAFQAbwBrAGUAbgBzACAAWwBNAGEAbgBhAGcAZQBdAA0ACgANAAoAIwAgAEcAZQBuAGUAcgBhAHQAZQAgAGEAIABwAHMAZQB1AGQAbwAtAHUAbgBpAHEAdQBlACAAbgBhAG0AZQBzAHAAYQBjAGUAIAB0AG8AIAB1AHMAZQAgAHcAaQB0AGgAIAB0AGgAZQAgAE4AZQB3AC0AVwBlAGIAUwBlAHIAdgBpAGMAZQBQAHIAbwB4AHkAIABhAG4AZAAgAGEAcwBzAG8AYwBpAGEAdABlAGQAIAB0AHkAcABlAHMALgANAAoAJABOAFcAUwBOAGEAbQBlAFMAcABhAGMAZQAgAD0AIAAiAE4AQQBiAGwAZQAiACAAKwAgACgAWwBnAHUAaQBkAF0AOgA6AE4AZQB3AEcAdQBpAGQAKAApACkALgBUAG8AUwB0AHIAaQBuAGcAKAApAC4AUwB1AGIAcwB0AHIAaQBuAGcAKAAyADUAKQANAAoAJABLAGUAeQBQAGEAaQByAFQAeQBwAGUAIAA9ACAAIgAkAE4AVwBTAE4AYQBtAGUAUwBwAGEAYwBlAC4AZQBpAEsAZQB5AFYAYQBsAHUAZQAiAA0ACgANAAoAIwAgAEIAaQBuAGQAIAB0AG8AIAB0AGgAZQAgAG4AYQBtAGUAcwBwAGEAYwBlACwAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAFcAZQBiAHMAZQByAHYAaQBjAGUAcAByAG8AeAB5AA0ACgAkAGIAaQBuAGQAaQBuAGcAVQBSAEwAIAA9ACAAIgBoAHQAdABwAHMAOgAvAC8AIgAgACsAIAAkAHMAZQByAHYAZQByAEgAbwBzAHQAIAArACAAIgAvAGQAbQBzADIALwBzAGUAcgB2AGkAYwBlAHMAMgAvAFMAZQByAHYAZQByAEUASQAyAD8AdwBzAGQAbAAiAA0ACgAkAG4AdwBzACAAPQAgAE4AZQB3AC0AVwBlAGIAcwBlAHIAdgBpAGMAZQBwAHIAbwB4AHkAIAAkAGIAaQBuAGQAaQBuAGcAVQBSAEwAIAAtAE4AYQBtAGUAcwBwAGEAYwBlACAAKAAkAE4AVwBTAE4AYQBtAGUAUwBwAGEAYwBlACkADQAKAA0ACgAjACAAUwBlAHQAIAB1AHAAIABhAG4AZAAgAGUAeABlAGMAdQB0AGUAIAB0AGgAZQAgAHEAdQBlAHIAeQANAAoAJABLAGUAeQBQAGEAaQByACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgACQASwBlAHkAUABhAGkAcgBUAHkAcABlAA0ACgAkAEsAZQB5AFAAYQBpAHIALgBLAGUAeQAgAD0AIAAnAGwAaQBzAHQAUwBPAHMAJwANAAoAJABLAGUAeQBQAGEAaQByAC4AVgBhAGwAdQBlACAAPQAgACIAZgBhAGwAcwBlACIADQAKAA0ACgAjAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABjAG8AbgBuAGUAYwB0AA0ACgBUAHIAeQAgAHsADQAKACAAIAAgACAAJABDAHUAcwB0AG8AbQBlAHIATABpAHMAdAAgAD0AIAAkAG4AdwBzAC4AYwB1AHMAdABvAG0AZQByAEwAaQBzAHQAKAAiACIALAAgACQASgBXAFQALAAgACQASwBlAHkAUABhAGkAcgApAA0ACgB9AA0ACgBDAGEAdABjAGgAIAB7AA0ACgAgACAAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAEMAbwB1AGwAZAAgAG4AbwB0ACAAYwBvAG4AbgBlAGMAdAA6ACAAJAAoACQAXwAuAEUAeABjAGUAcAB0AGkAbwBuAC4ATQBlAHMAcwBhAGcAZQApACIADQAKACAAIAAgACAAZQB4AGkAdAANAAoAfQANAAoADQAKACMAQwByAGUAYQB0AGUAIABjAHUAcwB0AG8AbQBlAHIAIAByAGUAcABvAHIAdAAgAEEAcgByAGEAeQBMAGkAcwB0AA0ACgAkAEMAdQBzAHQAbwBtAGUAcgBzACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEEAcgByAGEAeQBMAGkAcwB0AA0ACgBGAG8AcgBFAGEAYwBoACAAKAAkAEUAbgB0AGkAdAB5ACAAaQBuACAAJABDAHUAcwB0AG8AbQBlAHIATABpAHMAdAApACAAewANAAoAIAAgACAAIAAkAEMAdQBzAHQAbwBtAGUAcgBBAHMAcwBlAHQASQBuAGYAbwAgAD0AIABAAHsAfQANAAoAIAAgACAAIABGAG8AcgBFAGEAYwBoACAAKAAkAGkAdABlAG0AIABpAG4AIAAkAEUAbgB0AGkAdAB5AC4AaQB0AGUAbQBzACkAIAB7ACAAJABDAHUAcwB0AG8AbQBlAHIAQQBzAHMAZQB0AEkAbgBmAG8AWwAkAGkAdABlAG0ALgBrAGUAeQBdACAAPQAgACQAaQB0AGUAbQAuAFYAYQBsAHUAZQAgAH0ADQAKACAAIAAgACAAJABvACAAPQAgAFsAUABTAEMAdQBzAHQAbwBtAE8AYgBqAGUAYwB0AF0AQAB7AA0ACgAgACAAIAAgACAAIAAgACAAQwB1AHMAdABvAG0AZQByAEkARAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA9ACAAJABDAHUAcwB0AG8AbQBlAHIAQQBzAHMAZQB0AEkAbgBmAG8AWwAiAGMAdQBzAHQAbwBtAGUAcgAuAGMAdQBzAHQAbwBtAGUAcgBpAGQAIgBdAA0ACgAgACAAIAAgACAAIAAgACAATgBhAG0AZQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAA9ACAAJABDAHUAcwB0AG8AbQBlAHIAQQBzAHMAZQB0AEkAbgBmAG8AWwAiAGMAdQBzAHQAbwBtAGUAcgAuAGMAdQBzAHQAbwBtAGUAcgBuAGEAbQBlACIAXQANAAoAIAAgACAAIAAgACAAIAAgAFAAYQByAGUAbgB0AEkARAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAPQAgACQAQwB1AHMAdABvAG0AZQByAEEAcwBzAGUAdABJAG4AZgBvAFsAIgBjAHUAcwB0AG8AbQBlAHIALgBwAGEAcgBlAG4AdABpAGQAIgBdAA0ACgAgACAAIAAgACAAIAAgACAAUgBlAGcAaQBzAHQAcgBhAHQAaQBvAG4AVABvAGsAZQBuACAAIAAgACAAIAAgACAAIAAgACAAIAA9ACAAJABDAHUAcwB0AG8AbQBlAHIAQQBzAHMAZQB0AEkAbgBmAG8AWwAiAGMAdQBzAHQAbwBtAGUAcgAuAHIAZQBnAGkAcwB0AHIAYQB0AGkAbwBuAHQAbwBrAGUAbgAiAF0ADQAKACAAIAAgACAAIAAgACAAIABSAGUAZwBpAHMAdAByAGEAdABpAG8AbgBUAG8AawBlAG4ARQB4AHAAaQByAHkARABhAHQAZQAgAD0AIAAkAEMAdQBzAHQAbwBtAGUAcgBBAHMAcwBlAHQASQBuAGYAbwBbACIAYwB1AHMAdABvAG0AZQByAC4AcgBlAGcAaQBzAHQAcgBhAHQAaQBvAG4AdABvAGsAZQBuAGUAeABwAGkAcgB5AGQAYQB0AGUAIgBdAA0ACgAgACAAIAAgAH0ADQAKACAAIAAgACAAJABDAHUAcwB0AG8AbQBlAHIAcwAuAEEAZABkACgAJABvACkAIAA+ACAAJABuAHUAbABsAA0ACgB9AA0ACgANAAoAJABTAGUAYwB1AHIAZQBQAGEAcwBzACAAPQAgAEMAbwBuAHYAZQByAHQAVABvAC0AUwBlAGMAdQByAGUAUwB0AHIAaQBuAGcAIAAkAHAAYQBzAHMAdwBvAHIAZAAgAC0AQQBzAFAAbABhAGkAbgBUAGUAeAB0ACAALQBGAG8AcgBjAGUADQAKACQAUABTAFUAcwBlAHIAQwByAGUAZABlAG4AdABpAGEAbAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUABTAEMAcgBlAGQAZQBuAHQAaQBhAGwAIAAoACQAdQBzAGUAcgBuAGEAbQBlACwAIAAkAFMAZQBjAHUAcgBlAFAAYQBzAHMAKQANAAoAJABkAGEAdABlACAAPQAgAEcAZQB0AC0ARABhAHQAZQANAAoADQAKAGYAdQBuAGMAdABpAG8AbgAgAHUAcABkAGEAdABlAHQAbwBrAGUAbgAoACQAYwB1AHMAdABvAG0AZQByACkAIAB7AA0ACgAgACAAIAAgACQAdQByAGkAIAA9ACAAIgBoAHQAdABwAHMAOgAvAC8AJABzAGUAcgB2AGUAcgBIAG8AcwB0AC8AZABtAHMALwBGAGkAbABlAEQAbwB3AG4AbABvAGEAZAA/AGMAdQBzAHQAbwBtAGUAcgBJAEQAPQAkACgAJABjAHUAcwB0AG8AbQBlAHIALgBjAHUAcwB0AG8AbQBlAHIAaQBkACkAJgBzAG8AZgB0AHcAYQByAGUASQBEAD0AMQAwADEAIgANAAoAIAAgACAAIAAkAFAAcgBvAGcAcgBlAHMAcwBQAHIAZQBmAGUAcgBlAG4AYwBlACAAPQAgACcAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQAnAA0ACgAgACAAIAAgAEkAbgB2AG8AawBlAC0AVwBlAGIAUgBlAHEAdQBlAHMAdAAgAC0AVQByAGkAIAAkAHUAcgBpACAALQBVAHMAZQBCAGEAcwBpAGMAUABhAHIAcwBpAG4AZwAgAC0AQwByAGUAZABlAG4AdABpAGEAbAAgACQAUABTAFUAcwBlAHIAQwByAGUAZABlAG4AdABpAGEAbAAgAHwAIABPAHUAdAAtAE4AdQBsAGwADQAKAH0ADQAKAGYAbwByAGUAYQBjAGgAIAAoACQAYwB1AHMAdABvAG0AZQByACAAaQBuACAAJABjAHUAcwB0AG8AbQBlAHIAcwApACAAewANAAoAIAAgACAAIABpAGYAIAAoAC0AbgBvAHQAIAAoACQAYwB1AHMAdABvAG0AZQByAC4AcgBlAGcAaQBzAHQAcgBhAHQAaQBvAG4AdABvAGsAZQBuAGUAeABwAGkAcgB5AGQAYQB0AGUAKQApACAAewANAAoAIAAgACAAIAAgACAAIAAgACMATgBvACAAUgBlAGcAaQBzAHQAcgBhAHQAaQBvAG4AIABUAG8AawBlAG4ADQAKACAAIAAgACAAIAAgACAAIAB1AHAAZABhAHQAZQB0AG8AawBlAG4AKAAkAGMAdQBzAHQAbwBtAGUAcgApAA0ACgAgACAAIAAgAH0ADQAKACAAIAAgACAAIwBFAHgAcABpAHIAZQBzACAAcwBvAG8AbgANAAoAIAAgACAAIABlAGwAcwBlACAAewANAAoAIAAgACAAIAAgACAAIAAgACQAZQB4AHAAaQByAGEAdABpAG8AbgBkAGEAdABlACAAPQAgAFsAZABhAHQAZQB0AGkAbQBlAF0AOgA6AFAAYQByAHMAZQBFAHgAYQBjAHQAKAAoACQAYwB1AHMAdABvAG0AZQByAC4AcgBlAGcAaQBzAHQAcgBhAHQAaQBvAG4AdABvAGsAZQBuAGUAeABwAGkAcgB5AGQAYQB0AGUAKQAuAHMAcABsAGkAdAAoACIAIAAiACkAWwAwAF0ALAAgACcAeQB5AHkAeQAtAE0ATQAtAGQAZAAnACwAIAAkAG4AdQBsAGwAKQANAAoAIAAgACAAIAAgACAAIAAgAGkAZgAgACgAJABlAHgAcABpAHIAYQB0AGkAbwBuAGQAYQB0AGUAIAAtAGwAdAAgACQAZABhAHQAZQAuAEEAZABkAEQAYQB5AHMAKAAkAGUAeABwAGkAcgBhAHQAaQBvAG4AVABvAGwAZQByAGEAbgBjAGUAKQApACAAewANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAdQBwAGQAYQB0AGUAdABvAGsAZQBuACgAJABjAHUAcwB0AG8AbQBlAHIAKQANAAoAIAAgACAAIAAgACAAIAAgAH0ADQAKACAAIAAgACAAfQANAAoAfQA=">
15+
<p:RunPowerShellScript.InArgs>
16+
<p:InArg Item="{x:Null}" ItemProp="{x:Null}" x:Key="username" ArgType="string" DisplayArg="Input Parameters.Username" DisplayName="username" Name="username" isRequired="False">
17+
<p:InArg.Arg>
18+
<InArgument x:TypeArguments="x:String">[username]</InArgument>
19+
</p:InArg.Arg>
20+
</p:InArg>
21+
<p:InArg Item="{x:Null}" ItemProp="{x:Null}" x:Key="password" ArgType="password" DisplayArg="Input Parameters.Password" DisplayName="password" Name="password" isRequired="False">
22+
<p:InArg.Arg>
23+
<InArgument x:TypeArguments="p:Password">[password]</InArgument>
24+
</p:InArg.Arg>
25+
</p:InArg>
26+
<p:InArg Item="{x:Null}" ItemProp="{x:Null}" x:Key="serverHost" ArgType="string" DisplayArg="Input Parameters.N-Central FQDN" DisplayName="serverHost" Name="serverHost" isRequired="False">
27+
<p:InArg.Arg>
28+
<InArgument x:TypeArguments="x:String">[serverHost]</InArgument>
29+
</p:InArg.Arg>
30+
</p:InArg>
31+
<p:InArg Item="{x:Null}" ItemProp="{x:Null}" x:Key="expirationTolerance" ArgType="number" DisplayArg="Input Parameters.Expiration Tolerance" DisplayName="expirationTolerance" Name="expirationTolerance" isRequired="False">
32+
<p:InArg.Arg>
33+
<InArgument x:TypeArguments="x:Double">[expirationTolerance]</InArgument>
34+
</p:InArg.Arg>
35+
</p:InArg>
36+
<p:InArg Item="{x:Null}" ItemProp="{x:Null}" x:Key="JWT" ArgType="password" DisplayArg="Input Parameters.JWT" DisplayName="JWT" Name="JWT" isRequired="False">
37+
<p:InArg.Arg>
38+
<InArgument x:TypeArguments="p:Password">[JWT]</InArgument>
39+
</p:InArg.Arg>
40+
</p:InArg>
41+
</p:RunPowerShellScript.InArgs>
42+
<p:RunPowerShellScript.OutArgs>
43+
<scg:Dictionary x:TypeArguments="x:String, p:OutArg" />
44+
</p:RunPowerShellScript.OutArgs>
45+
</p:RunPowerShellScript>
46+
</p:PolicySequence.Activities>
47+
<p:PolicySequence.Variables>
48+
<Variable x:TypeArguments="x:String" Name="username" />
49+
<Variable x:TypeArguments="p:Password" Name="password" />
50+
<Variable x:TypeArguments="x:String" Name="serverHost" />
51+
<Variable x:TypeArguments="x:Double" Name="expirationTolerance" />
52+
<Variable x:TypeArguments="x:String" Name="RunPowerShellScript_OutPut_64" />
53+
<Variable x:TypeArguments="x:Double" Name="RunPowerShellScript_Result" />
54+
<Variable x:TypeArguments="x:String" Name="RunPowerShellScript_ResultString" />
55+
<Variable x:TypeArguments="scg:IEnumerable(x:Object)" Name="RunPowerShellScript_Results_x64" />
56+
<Variable x:TypeArguments="p:Password" Name="JWT" />
57+
</p:PolicySequence.Variables>
58+
</p:PolicySequence>
59+
</Activity>
60+
</Policy>

AMPs/Refresh Agent Token.ps1

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# AMPLified version of AME-Justin's token refresh script as inspired by Chris Reid, by David Brooks
2+
# Version 1.0.0
3+
# Note: Requires following NC Role permissions
4+
# > Devices -> Network Devices -> Edit Device Settings [Read Only]
5+
# > Devices -> Network Devices -> Registration Tokens [Manage]
6+
7+
<#region Input Parameters used in AMP:
8+
$username
9+
$password
10+
$serverHost
11+
$expirationTolerance
12+
$JWT
13+
#>
14+
15+
# Generate a pseudo-unique namespace to use with the New-WebServiceProxy and associated types.
16+
$NWSNameSpace = "NAble" + ([guid]::NewGuid()).ToString().Substring(25)
17+
$KeyPairType = "$NWSNameSpace.eiKeyValue"
18+
19+
# Bind to the namespace, using the Webserviceproxy
20+
$bindingURL = "https://" + $serverHost + "/dms2/services2/ServerEI2?wsdl"
21+
$nws = New-Webserviceproxy $bindingURL -Namespace ($NWSNameSpace)
22+
23+
# Set up and execute the query
24+
$KeyPair = New-Object -TypeName $KeyPairType
25+
$KeyPair.Key = 'listSOs'
26+
$KeyPair.Value = "false"
27+
28+
#Attempt to connect
29+
Try {
30+
$CustomerList = $nws.customerList("", $JWT, $KeyPair)
31+
}
32+
Catch {
33+
Write-Host "Could not connect: $($_.Exception.Message)"
34+
exit
35+
}
36+
37+
#Create customer report ArrayList
38+
$Customers = New-Object System.Collections.ArrayList
39+
ForEach ($Entity in $CustomerList) {
40+
$CustomerAssetInfo = @{}
41+
ForEach ($item in $Entity.items) { $CustomerAssetInfo[$item.key] = $item.Value }
42+
$o = [PSCustomObject]@{
43+
CustomerID = $CustomerAssetInfo["customer.customerid"]
44+
Name = $CustomerAssetInfo["customer.customername"]
45+
ParentID = $CustomerAssetInfo["customer.parentid"]
46+
RegistrationToken = $CustomerAssetInfo["customer.registrationtoken"]
47+
RegistrationTokenExpiryDate = $CustomerAssetInfo["customer.registrationtokenexpirydate"]
48+
}
49+
$Customers.Add($o) > $null
50+
}
51+
52+
$SecurePass = ConvertTo-SecureString $password -AsPlainText -Force
53+
$PSUserCredential = New-Object PSCredential ($username, $SecurePass)
54+
$date = Get-Date
55+
56+
function updatetoken($customer) {
57+
$uri = "https://$serverHost/dms/FileDownload?customerID=$($customer.customerid)&softwareID=101"
58+
$ProgressPreference = 'SilentlyContinue'
59+
Invoke-WebRequest -Uri $uri -UseBasicParsing -Credential $PSUserCredential | Out-Null
60+
}
61+
foreach ($customer in $customers) {
62+
if (-not ($customer.registrationtokenexpirydate)) {
63+
#No Registration Token
64+
updatetoken($customer)
65+
}
66+
#Expires soon
67+
else {
68+
$expirationdate = [datetime]::ParseExact(($customer.registrationtokenexpirydate).split(" ")[0], 'yyyy-MM-dd', $null)
69+
if ($expirationdate -lt $date.AddDays($expirationTolerance)) {
70+
updatetoken($customer)
71+
}
72+
}
73+
}

0 commit comments

Comments
 (0)