Eu escrevi um módulo um tempo atrás que fornece um monte de Cmdlets para gerenciar o arquivo de hosts. Também suporta a conclusão de guias dos hosts, o que é útil.
A fonte está no GitHub e pode ser instalada usando o PsGet:
install-module PsHosts
Você pode usá-lo usando os verbos:
# Add a new entry
Add-HostEntry mysite.local 127.0.0.1
# Hit enter for all matching, hit tab to complete
Get-HostEntry mysite*
# Change existing
Set-HostEntry mysite.local 127.0.0.1
# Remove entry
Remove-HostEntry something.local
# Comments out an entry
Disable-HostEntry something.local
E porque é tudo pipeline, é bastante flexível:
# Remove all disabled/commented *.local entries
Get-HostEntry *.local | ?{-not $_.Enabled} | Remove-HostEntry
Se você passar mais tempo na GUI do IIS do que o Powershell, também fiz uma extensão do IIS há alguns anos (eles compartilham códigos e testes de unidade) que tem alguns recursos adicionais específicos do site. Está disponível no Codeplex .