2012-03-15 10 views
5

que he estado tratando de ejecutar el siguiente comando en PowerShell:El uso de netsh en PowerShell falla con el error: El parámetro es incorrecto

netsh http add sslcert ipport=0.0.0.0:443 certhash=<some certhash> appid={<random guid>} 

El problema es, devuelve "The parameter is incorrect" cada vez. Revisé el número de hash de cert y el guid generado y todos están bien. De hecho, ejecuté el mismo comando en cmd.exe y funcionó a la perfección, lo que se suma a la frustración.

Quiero pasar variables como certhash y appid, por lo que estoy usando PowerShell.

Si alguien me puede ayudar a entender por qué no funciona o si falta algo para que funcione en PowerShell.

Respuesta

12

Finalmente aprendí cuál era el problema: aunque en PowerShell puedes ejecutar comandos cmd de forma nativa, el análisis del comando cambia ligeramente, y en este caso interrumpe la interpretación del parámetro appid (¡esas llaves!).

Para resolverlo, sólo encierra los soportes ({}) y <random guid> entre comillas simples, como tal,

netsh http add sslcert ipport=0.0.0.0:443 certhash=<certhash> appid='{<random guid>}' 

en contraposición a (nota la falta 'cita'),

netsh http add sslcert ipport=0.0.0.0:443 certhash=<certhash> appid={<random guid>} 

y el comando funcionó perfectamente.

Para obtener más información sobre el análisis de PowerShell, Understanding PowerShell Parsing Modes.

+0

Gracias, ya había perdido unas pocas horas en esto :( –

Cuestiones relacionadas