Comment puis-je itérer à travers tous les sites web hébergés sur un IIS 6.0 (Windows Server 2003) en utilisant powershell ?
Existe-t-il un moyen de le faire en utilisant WmiObject ?
Gracias.
Comment puis-je itérer à travers tous les sites web hébergés sur un IIS 6.0 (Windows Server 2003) en utilisant powershell ?
Existe-t-il un moyen de le faire en utilisant WmiObject ?
Gracias.
Listez-les en utilisant ADSI ou WMI comme suit --
#ADSI
$iis = [ADSI]"IIS://localhost/W3SVC"
$iis.psbase.children | where { $_.schemaClassName -eq "IIsWebServer"} | select ServerComment
#WMI
Get-WmiObject -Class IIsWebServerSetting -Namespace "root\microsoftiisv2" | Select ServerComment
Pour ajouter un nouveau HttpCustomHeader comme vous l'avez mentionné dans votre commentaire, je pense que vous pouvez utiliser la technique suivante. S'il vous plaît, testez bien car je ne l'ai pas fait.
$wmiSiteArray = Get-WmiObject -Class IIsWebServerSetting -Namespace "root\microsoftiisv2"
foreach ($site in $wmiSiteArray)
{
$path = $site.name + '/root'
$vdir = [wmi]"root\MicrosoftIISv2:IIsWebVirtualDirSetting='$path'"
$bindingClass= [wmiclass]'root\MicrosoftIISv2:HttpCustomHeader'
$newHeader = $bindingClass.CreateInstance()
$newHeader.KeyName = "CustomHeader: BlahBlah"
$newHeader.value = $null
$vdir.HttpCustomHeaders += $newHeader.PSObject.BaseObject
$vdir.Put()
}
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
0 votes
Cherchez-vous simplement une liste de leurs noms ou attendez-vous à ce qu'une sorte d'objet de site soit renvoyé pour être exploité ?
0 votes
Il ne s'agit pas seulement de lister les sites, mais d'être capable de parcourir chaque site et d'y ajouter de nouveaux HttpCustomHeaders dans IIS6.0.