Question

Je permette HTTPS sur mon serveur IIS où j'ai installé SharePoint Services 3.0 et je voudrais mettre à jour programatiquement les mappages d'accès alternatifs par défaut pour une seule application Web et mon instance d'administration centrale (les deux sur la même machine). Voici le code que j'ai jusqu'à présent (PowerShell), il ajoute un mappage pour HTTPS mais j'obtiens et je reçois une erreur lorsque j'essaie de supprimer celle d'origine.

Voici mon code:

[void][system.reflection.assembly]::LoadWithPartialName("Microsoft.Sharepoint")

$SPWebServiceCollection = new-object Microsoft.SharePoint.Administration.SPWebServiceCollection ([Microsoft.SharePoint.Administration.SPFarm]::Local)

    foreach ($SPWebService in $SPWebServiceCollection) {

        foreach ($webApplication in $SPWebService.WebApplications) {

            Write-Host ('Updating {0}' -f $webApplication.Name)

            foreach ($alternateUrl in $webApplication.AlternateUrls) {

                $incomingUrl = [System.URI] $alternateUrl.IncomingUrl

                $newURL = 'https://{0}{1}' -f  $incomingUrl.Authority, $incomingUrl.PathAndQuery

                $newAltURL = New-Object Microsoft.SharePoint.Administration.SPAlternateUrl ($newURL, $alternateUrl.UrlZone)

                $webApplication.AlternateUrls.Add($newAltURL)

                $webApplication.AlternateUrls.Update($true)

                $webApplication.AlternateUrls.Remove($alternateUrl) #Throws Exception

                $webApplication.AlternateUrls.Update($true)
           }
        }
    }

Voici l'erreur que j'obtiens lorsque j'essaie de supprimer l'original:

Exception appelant "Supprimer" avec "1" Argument (s): "Un objet dans le framework administratif SharePoint," SpalternArlCollection Name = SharePoint - 1000 Parent = SPFarm Name = SharePoint_Config_8ddd3701-A332-4E79-98E4-FA11C1B6C17C ", n'a pas pu être supprimé Parce que d'autres objets en dépendent. Mettez à jour toutes ces personnes à charge pour pointer des objets NULL ou différents et réessayer cette opération. Les objets dépendants sont les suivants:

SPWAPPLICATION NAME = SharePoint - 1000 Parent = SpweBService

Cependant, je ne sais pas comment faire ce que l'exception suggère.

Était-ce utile?

La solution 2

Il s'avère qu'il existe une autre méthode pour l'entrée par défaut de sortie que j'ai négligé:

$webApplication.AlternateUrls.SetResponseUrl($newAltURL)


[void][system.reflection.assembly]::LoadWithPartialName("Microsoft.Sharepoint")

$SPWebServiceCollection = new-object Microsoft.SharePoint.Administration.SPWebServiceCollection ([Microsoft.SharePoint.Administration.SPFarm]::Local)

foreach ($SPWebService in $SPWebServiceCollection) {

    foreach ($webApplication in $SPWebService.WebApplications) {

        Write-Host ('Updating {0}' -f $webApplication.Name)

        foreach ($alternateUrl in $webApplication.AlternateUrls) {

            $incomingUrl = [System.URI] $alternateUrl.IncomingUrl

            $newURL = 'https://{0}{1}' -f  $incomingUrl.Authority, $incomingUrl.PathAndQuery

            $newAltURL = New-Object Microsoft.SharePoint.Administration.SPAlternateUrl ($newURL, $alternateUrl.UrlZone)

            $webApplication.AlternateUrls.SetResponseUrl($newAltURL)

            $webApplication.AlternateUrls.Update($true)
       }
    }
}

Autres conseils

Ah ... il semble que vous essayiez de supprimer l'URL que le service Web utilise ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top