Sync-WDSite Web应用程序物理路径参数

Sim*_*onS 5 iis powershell

我编写了一个脚本,用于在IIS服务器之间同步站点.我的所有网站都没有错误同步,但一个网站(当然是最重要的网站)得到一个奇怪的错误.

以下代码部分同步站点:

$spp = $path.Get_Item($Name)
$publishsettings = Get-WDPublishSettings -FileName $_.FullName
$sync = Sync-WDSite $Name $Name -sitephysicalpath $spp `
                                        -SourcePublishSettings $publishsettings `
                                        -IncludeApppool `
                                        -WarningAction Continue `
                                        -sourcesettings $settings `
                                        -ErrorAction Continue `
                                        -destinationsettings $settings `
                                        -debug
Run Code Online (Sandbox Code Playgroud)

我得到的错误是以下(错误是德语,但我试图将其翻译成英语):

Sync-WDSite : The parameter 'Web Application Physical Path Parameter' was already defined.
In C:\Users\Administrator\desktop\wdeploy.ps1:236 Zeichen:17
+         $sync = Sync-WDSite $Name $Name -sitephysicalpath $spp `
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Sync-WDSite], DeploymentException
    + FullyQualifiedErrorId : Microsoft.Web.Deployment.PowerShell.SyncSite
Run Code Online (Sandbox Code Playgroud)

我完全不知道它来自哪里.

请注意,我使用-debug参数来查看cmdlet执行的每个步骤.错误发生在其他站点收集有关站点的信息的阶段(哪个站点是它,它使用哪个apppool等)

谢谢!

编辑:

附加信息:每个站点的发布设置文件具有完全相同的结构,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<publishData>
  <publishProfile
    publishUrl="https://server:port/msdeploy.axd"
    msdeploySite="Sitename"
    destinationAppUrl="http://anysiteurl.domain.com:port/"
    mySQLDBConnectionString=""
    SQLServerDBConnectionString=""
    profileName="Default Settings"
    publishMethod="MSDeploy"
    userName="server\wdeployadmin"
    userPWD="***"
    msdeployAllowUntrustedCertificate="True"
    agentType="wmsvc"
    useNTLM="False"/>
</publishData>
Run Code Online (Sandbox Code Playgroud)

编辑:

Martin要求的完整错误消息:

writeErrorStream      : True
PSMessageDetails      :
Exception             : Microsoft.Web.Deployment.DeploymentException: Der Parameter 'Web Application Physical Path
                        Parameter' wurde bereits definiert.
                           bei Microsoft.Web.Deployment.DeploymentSyncParameterCollection.Add(DeploymentSyncParameter
                        parameter)
                           bei Microsoft.Web.Deployment.PowerShell.WDeployCmdletBase.ProcessUserCmd()
TargetObject          :
CategoryInfo          : InvalidOperation: (:) [Sync-WDSite], DeploymentException
FullyQualifiedErrorId : Microsoft.Web.Deployment.PowerShell.SyncSite
ErrorDetails          : Der Parameter 'Web Application Physical Path Parameter' wurde bereits definiert.

InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : bei <ScriptBlock>, C:\Users\Administrator\desktop\wdeploy.ps1: Zeile 245
                        bei <ScriptBlock>, C:\Users\Administrator\desktop\wdeploy.ps1: Zeile 232
                        bei <ScriptBlock>, <Keine Datei>: Zeile 1
PipelineIterationInfo : {0, 1}
Run Code Online (Sandbox Code Playgroud)