Why is the netsh http add sslcert throwing error from Powershell ps1 file? Why is the netsh http add sslcert throwing error from Powershell ps1 file? powershell powershell

Why is the netsh http add sslcert throwing error from Powershell ps1 file?


It's a problem with the way Powershell parses cmd commands.This will execute the command successfully:

$guid = [guid]::NewGuid()$Command = "http add sslcert ipport=0.0.0.0:443 certhash=5758B8D8248AA8B4E91DAA46F069CC1C39ABA718 appid={$guid}"$Command | netsh


The reason for the error is that the curly braces have to be escaped each with a backtick (`).

The following command will work from the PowerShell commandline:

This will work from the PowerShell commadline:

$AppId = [Guid]::NewGuid().Guid$Hash = "209966E2BEDA57E3DB74FD4B1E7266F43EB7B56D"netsh http add sslcert ipport=0.0.0.0:8000 certhash=$Hash appid=`{$Guid`}

The important details are to escape each { } with a backtick (`).

If netsh raises an error 87 try appending certstorename my

There is no need to use variables. Its just for sake of convenience.


Below code will work, & here is used for invoke program with parameters, and "appid={$guid}" make it pass string value.

& netsh http add sslcert ipport=0.0.0.0:443 certhash=5758B8D8248AA8B4E91DAA46F069CC1C39ABA718 "appid={$guid}"