Reputation: 8067
I am running the following command in PowerShell:
PS C:\Users\adminaccount> winrm s winrm/config/service @{AllowUnencrypted="true";
MaxConcurrentOperationsPerUser="4294967295"}
Error: Invalid use of command line. Type "winrm -?" for help.
Which gives me an error, as you could see. But the same command in cmd.exe works fine:
C:\Users\adminaccount>winrm s winrm/config/service @{AllowUnencrypted="true";
MaxConcurrentOperationsPerUser="4294967295"}
Service
...
So, what should I know about PowerShell syntax to get this working there?
Upvotes: 5
Views: 2336
Reputation: 43587
Or use the special --%
parameter which lets PowerShell stop parsing the parameters.
winrm --% s winrm/config/service @{AllowUnencrypted="true";MaxConcurrentOperationsPerUser="4294967295"}
Upvotes: 2
Reputation: 200203
@{}
defines a hashtable in PowerShell, but winrm
expects a string argument. Put that argument in quotes if you want to run the command directly in PowerShell:
winrm s winrm/config/service '@{AllowUnencrypted="true"; MaxConcurrentOperationsPerUser="4294967295"}'
Also, you need admin privileges for this to work.
Upvotes: 6
Reputation: 6605
You can prefix your command with cmd /c and quote it like:
cmd /c "winrm s winrm/config/service @{AllowUnencrypted=`"true`";
MaxConcurrentOperationsPerUser=`"4294967295`"}"
PowerShell will execute executables that exist in the system.
Upvotes: 1