2016-12-05 68 views
1

我在2.6.5中創建了一個腳本來安裝Octopus觸角。要讀取更改的值,我將它們從XML中拉出以進入PowerShell腳本。我一直在遇到instanceName正在創建換行符的問題。從XML讀取輸入的換行

所以對:

Write-Output "$homePath\$instanceName\$instanceName.config" 

我越來越:

C:Apps\Octopus\Tentacle\ 

Test 

\ 

Test.config 

它做在正在使用的instanceName換行符。

這是我的XML和PowerShell:

XML:

<OctopusEnviroment> 
<Sxsport> 
10933 
</Sxsport> 
<instanceName> 
Test 
</instanceName> 
<sthumb> 
3FD6D126A383A949262668B5D9E36F08A7699B748 
</sthumb> 

的PowerShell:

$sxsportVar = "" 
$instanceNameVar = "" 
$sthumbVar = "" 

[xml]$SiteAttribute = Get-Content OctopusEnv.xml 


$sxsportVar = $SiteAttribute.OctopusEnviroment.Sxsport 
$instanceNameVar = $SiteAttribute.OctopusEnviroment.instanceName 
$sthumbVar = $SiteAttribute.OctopusEnviroment.sthumb 

####Instance name the Tentacle will be registered to 
$instanceName = $instanceNameVar 
####Thumbprint from Deployment Server 
$sthumb = $sthumbVar 
####Port Tentacle is listening on 
$sxsPort = $sxsportVar 

回答

1

我沒有在這裏看到一個問題,但你可能想刪除換行符?

$SiteAttribute.OctopusEnviroment.instanceName -replace '\s' 
+1

謝謝,這正是我一直在尋找的。 – LordRazon