#Powershell 5.1 new object excel code#
This makes the code much shorter and solves my issue where I can now set my custom objects like I’d like them to be. As the name suggests, there will be 64 characters in Base64 string. Base64 encoding and decoding is a popular method to encrypt and decrypt the data.
#Powershell 5.1 new object excel windows#
The encoding and decoding are important in order to prevent the data from malware attacks. PowerShell 5.1 (.NET) is a natively installed application that is part of all Windows client and server OSes by default, the application can be updated directly from Microsoft's downloads website. I’ll do this with the method called copy on the psobject property. PowerShell Base64 is a technique or mechanism that is used to encode and decode data. To get this to work in the fashion I wanted which is I want each one of the copy’s of the new object to be settable independently I had to use the psobject property of my custom object.
After much gnashing of teeth and trying several different methods I finally came to a solution that is described in this PowerShell QA post. So we aren’t really getting a copy we are getting a reference to the first created object. PowerShell takes the array object and points (references) the values in the object to the first created object.
You would expect that the first and second tasks would be set to $true and $false respectively as I set them with the $newArraylist.enabled = $true / $false. $newArraylist.Add((New-object pscustomobject ($tasks2add))) Lets see what the output looks like: $newArraylist = new-object Now if I take that same set of objects and add it to another variable and then set each one. Now if look at my variable $tasks2Add we’ll see that it has all the items in the custom json above: $tasks2add = $taskjson|convertfrom-jsonġ Server-Scommaintenance False webMonitors=$(webMonitors) MinuteValue=2000 maintValue=inMaint}Ģ Server-Scommaintenance False webMonitors=$(webMonitors) emailusers=$(ScomNotify) MinuteValue=2000 maintValue=RemoveMaint} "maintValue": = $taskjson|convertfrom-json This post is about how I worked to solve this issue.įirst we’ll start with a customobject that comes from JSON To get this to work I tried several different means. What I needed this object to do was to allow for a set of each one of the properties and they needed to be different for each time I added it to the JSON object. Lately I’ve needed to take a PowerShell object and use it in several places in a JSON document that PowerShell nicely put in a custom object for me.