Come aggiungere le regole firewall di netsh, non solo sostituire

Sto usando uno script per impostare le regole del firewall in netsh.

netsh.exe advfirewall firewall set rule name="Block External IP's" new remoteip="$($ipArray[0])" 

Pensavo che l'insieme venisse usato in modo da aggiungere la regola piuttosto che sostituirlo. Tuttavia, ha scritto sopra i precedenti ip nell'elenco e lo ha sostituito con l'ultimo ip nell'arrays. Come posso riscriverlo in modo da aggiungere le regole piuttosto che sostituirle? Grazie mille per il tuo tempo e per l'aiuto.

Non sono sicuro, ma suppongo che utilizzi PowerShell per eseguire loop sull'arrays $IPArray e desideri aggiungere each IP in questa matrix per essere l' IP remoto della regola del firewall Block IP esterni .

Se questo è corretto, il problema è che netsh non ha l'opzione di aggiungere un IP, qualsiasi command set remoteip= sovrascrive la voce precedente. Pertanto, sovrascrivi l'IP remoto con each iterazione del tuo ciclo.

Penso che la soluzione sia facile: il ciclo sopra l'arrays come prima, ma combinare tutte le voci da $IPArray a una string, separata da $IPArray La string dovrebbe quindi apparire come questa 192.168.1.1,52.3.7.8 .

Infine, emettere un command netsh e specificare questa string come il parametro IP remoto come questo (dato che nome la variabile RemoteIPString

 netsh.exe advfirewall firewall set rule name="Block External IP's" new remoteip="$RemoteIPString"