Comma é um caractere especial para o PowerShell. No seu caso, ele é interpretado como um operador de matriz binária. Cria um array com dois elementos blockinboundalways
e allowoutbound
. O PowerShell abaixo da v5 separará os elementos da matriz com espaço quando a matriz for transmitida para aplicativos nativos. A linha de comando resultante passada para netsh
será a seguinte:
netsh advfirewall set allprofiles firewallpolicy blockinboundalways allowoutbound
Qual não é o que você quer. Você tem que escapar de uma vírgula ou colocá-lo entre aspas para interpretá-lo literalmente:
netsh advfirewall set allprofiles firewallpolicy blockinboundalways',allowoutbound
netsh advfirewall set allprofiles firewallpolicy 'blockinboundalways,allowoutbound'