Cmd.exe powershell HashTable

Is there a way in PowerShell to pass a HashTable as an argument when called with cmd.exe?

I want to call the script as follows:

powershell "& 'C:\path\to\file.ps1 arg1 arg2 arg3 arg4'" 

Where arg4 is a HashTable. Is it possible?

+6
cmd powershell
source share
2 answers

For script (foo.ps1):

 param($a1, $a2, $a3, [hashtable]$a4) "a1 is $a1" "a2 is $a2" "a3 is $a3" "a4 is " $a4 

You can call it from cmd.exe so that you specify the hash table as the fourth parameter:

 C:\> powershell -command "& {c:\foo.ps1 1 2 three @{name='John';age=45}}" a1 is 1 a2 is 2 a3 is three a4 is Name Value ---- ----- name John age 45 
+11
source share

The only thing that comes to mind is to save the hash table as xml and pass the file name to it.

0
source share

All Articles