2

SharePoint Services 3.0がインストールされているIISサーバーでHTTPSを有効にしており、単一のWebアプリケーションと中央管理インスタンス(両方とも同じマシン上)の既定の代替アクセスマッピングをプログラムで更新したいと考えています。これが私がこれまでに持っているコード(Powershell)で、HTTPSのマッピングを追加しますが、元のコードを削除しようとするとエラーが発生します。

これが私のコードです:

[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)
           }
        }
    }

オリジナルを削除しようとすると、次のエラーが発生します。

「1」引数を指定して「削除」を呼び出す際の例外:「SharePoint管理フレームワーク内のオブジェクト「SPAlternateUrlCollectionName = SharePoint-1000 Parent = SPFarm Name=SharePoint_Config_8ddd3701-a332-4e79-98e4-fa11c1b6c17c」を削除できませんでした他のオブジェクトがそれに依存しているためです。これらの依存関係をすべて更新して、nullまたは別のオブジェクトをポイントし、この操作を再試行してください。依存オブジェクトは次のとおりです。

SPWebApplication Name = SharePoint-1000 Parent = SPWebService

ただし、例外が示唆することをどのように行うかはわかりません。

4

2 に答える 2

0

私が見落としていた既存のデフォルトエントリの別の方法があることがわかりました。

$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)
       }
    }
}
于 2011-04-12T21:29:36.427 に答える
0

ああ... Web サービスが使用している URL を削除しようとしているようです...

于 2011-03-30T17:20:35.190 に答える