Atualizando Restrições de Retransmissão SMTP do IIS com o Powershell

2

Estou tentando atualizar as restrições de retransmissão do servidor SMTP virtual do IIS 6 para permitir somente 127.0.0.1. Para fazer isso, estou atualizando a configuração a seguir.

Eupossofazerissomanualmente,masgostariadefazerissonoPowerShell.

$settings=get-wmiobject-namespaceroot\MicrosoftIISv2-computernamelocalhost-Query"Select * from IIsSmtpServerSetting"
$settings.RelayIpList += @(127,0,0,1)
$settings.Put()

Se eu consultar a configuração no powershell, o valor que adicionei estará lá, mas não será atualizado na interface do usuário. Estou usando a configuração correta? Ou estou faltando alguma outra coisa?

    
por jamesj 19.10.2016 / 11:49

1 resposta

1

Espero que ajude alguém.

Descobri que você só pode fazer algo parecido com isto para atualizar o relayIPList, abaixo está um exemplo para adicionar o 127.0.0.1 a uma lista de ip de retransmissão vazia:

$SmtpConfig = Get-WMIObject -Namespace root/MicrosoftIISv2 -ComputerName localhost -Query "Select * From IisSmtpServerSetting"

$RelayIpList = @( 24, 0, 0, 128, 32, 0, 0, 128, 60, 0, 0, 128, 68, 0, 0, 128, 1, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 127, 0, 0, 1 )

$SmtpConfig.RelayIPList = $RelayIPList

$SmtpConfig.Put()

* Observe os espaços na matriz. Eles precisam estar lá para garantir que seja uma matriz de bytes (não funcionará mesmo quando você usa um tipo strong para criar uma matriz de bytes sem os espaços). Também não tente modificar o conteúdo do array

Então, seguir não funcionará:

[Byte[]]$RelayIpList = @(24,0,0,128,32,0,0,128,60,0,0,128,68,0,0,128,1,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,76,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,1)

ou isso:

[Byte[]]$RelayIPList = @( 24, 0, 0, 128, 32, 0, 0, 128, 60, 0, 0, 128, 68, 0, 0, 128, 1, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 127, 0, 0, 1 )
$IPs | ForEach-Object { $RelayIPList = $RelayIPList + ($_.split('.')) }
    
por 01.06.2018 / 04:13