Scenario: During the OWA Integration of Exchange 2013 and Lync 2013 , one of the steps is to edit the web.config file on each Exchange Mailbox Server by adding a IMCertificateThumbprint and IMServerName.
The script below queries a list of Exchange servers, determines the certificate thumbprint needed, appends the required values to the web.config file, and then restarts the MSExchangeOWAAppPool and the MSExchangeUM* services.
$Servers= Get-ExchangeServer | Where AdminDisplayVersion -like "*15*" $Servers | %{ $servername = $_.name Write-Host $servername #Adding the UM Info into Web.Config $UMThumb= (Get-ExchangeCertificate -server $servername | Where { $_.Services -like '*UMC*'}).ThumbPrint | Select -First 1 Write-Host "Configuring WebConfig for "$servername " with " $UMThumb $WebConfigFile= "\$servernameC$Program FilesMicrosoftExchange ServerV15ClientAccessOwaweb.config" Write-Host "Editing Web.Config in $WebConfigFile" $wc= [XML](Get-Content $WebConfigFile) $el= $wc.CreateElement("add") $key= $wc.CreateAttribute( 'key') $key.psbase.value = 'IMCertificateThumbprint' $val= $wc.CreateAttribute('value') $val.psbase.value= $UMThumb $el.SetAttributeNode($key) $el.SetAttributeNode($val) $wc.configuration.appSettings.Appendchild( $el) $el= $wc.CreateElement("add") $key= $wc.CreateAttribute( 'key') $key.psbase.value = 'IMServerName' $val= $wc.CreateAttribute('value') $val.psbase.value= 'LyncServerPool.Domain.Com' $el.SetAttributeNode($key) $el.SetAttributeNode($val) $wc.configuration.appSettings.Appendchild( $el) $wc.Save( $WebConfigFile) #Restart the AppPool $appPoolName = "MSExchangeOWAAppPool" $appPool = get-wmiobject -computername $servername -namespace "rootMicrosoftIISv2" -class "IIsApplicationPool" -Authentication PacketPrivacy -Impersonation Impersonate | Where-Object {$_.Name -eq "W3SVC/APPPOOLS/$appPoolName"} $appPool.Recycle() #Restart the UM Services Get-Service MSExchangeUM* -computername $servername | Restart-Service }
explanation of CONFIGURE FILE EXCHANGE web.config for Lync PowerShell THROUGH MULTIPLE SCRIPT IN SERVER is really helpful at all …
LikeLike