2011-03-24 44 views
1

我設置TFS部署currenlty工作,並已試圖寫爲部署PowerShell腳本。我一直在StackoverFlow上研究並閱讀了許多貼出的問題和答案,但我無法真正使腳本工作。MSdeploy在PowerShell中 - 顯示或幫助我的東西真的工作

到目前爲止,當我運行於Windows PowerShell ISE以下PS,它運行。

$ envMsDeploy = $ ENV:msdeploy
$ DirMsDeploy =分離路徑-Parent $ envMsDeploy

#定義當前位置到$ DirMSDeploy = C:\ Program Files文件\ IIS \微軟Web部署V2
設定位置$ DirMsDeploy

$ ARG = @(
'-verb:同步';
' - 源:的contentPath =' + $ buildDroppedLocation;
'-dest:contentPath ='+ $ destinationPath;
'-whatif> C:\ TEMP \ msdeploy.log'


$ runMSDeploy =($ DirMsDeploy + 「\ Msdeploy.exe」 + $ ARG)
$ runMSDeploy | out-file c:\ temp \ MsDeployTest.bat

我把最後一句話確認得到了保存的$ runMSDeploy。現在看起來$ runMSDeploy保存了我想要放置的內容。

MSDeployTest.Bat包含C:\ Program Files \ IIS \ Microsoft Web Deploy V2 \ Msdeploy.exe -verb:sync -source:contentPath = [[c:\ source folder]] -dest:contentPath = [[Detination UNC路徑] -whatif> C:\ TEMP \ msdeploy.log

這是我停留在現在。由於使用c:\​​ Program Files文件包含空文件夾,CMD沒有成功運行,而給我的錯誤,「cmd.exe的:‘C:\ PROGRAM’不被識別爲一個內部或外部命令」

如果您有任何建議或想法,請告訴我。

感謝,

wanttogoshreddingeveryday

+0

$ envMsDeploy = $ ENV:msdeploy $ DirMsDeploy =分離路徑-Parent $ envMsDeploy #定義的當前位置爲C:\ Program Files文件\ IIS \微軟Web部署V2 設置位置$ DirMsDeploy $ ARG = @( '-verb:同步'; ' - 源:的contentPath =' + $ buildDroppedLocation; '-dest:的contentPath =' + $的DestinationPath; '-whatif> C:\ TEMP \ msdeploy.log' ) $ runMSDeploy =($ DirMsDeploy +「\ Msdeploy.exe」+ $ arg) wanttogoshreddingeveryday 2011-03-25 19:33:20

+1

#BEGIN $ MsDeployDir =(Get-ItemProperty -Path HKLM:\ SOFTWARE \ Microsoft \ .NETFramework \ AssemblyFolders \ MSDeploy)。'(default )' $ MsDeployExe = $ MsDeployDir |加入路徑-ChildPath msdeploy.exe &cmd.exe/c $('「」{0}「-verb:sync -source:contentPath =」{1}「-dest:contentPath =」{2}「-whatif 「'-f $ MSDeployExe,$ BuildDroppedLocation,$ DestinationPath) #END – wanttogoshreddingeveryday 2011-03-28 23:28:56

+0

開發TFS部署者的Jason Stangroome幫助我在這裏http://tfsdeployer.codeplex.com/discussions/251531 – wanttogoshreddingeveryday 2011-03-28 23:29:41

回答

0

這裏是一個小例子,其與parametter

function F([string]$file) 
{ 
    notepad.exe $file 
} 

Clear-Host 
F "c:\Temp\fic.txt" 

JP

0

Notepad.exe的開始嘗試此要旨。它應該有,你需要通過PowerShell的https://gist.github.com/579086

它使用Psake來部署一切,但它沒有它正常工作。

+0

感謝您的鏈接,Rarous。 – wanttogoshreddingeveryday 2011-03-25 19:31:30

+0

$ envMsDeploy = $ ENV:msdeploy $ DirMsDeploy =分離路徑-Parent $ envMsDeploy #定義的當前位置爲C:\ Program Files文件\ IIS \微軟Web部署V2 設置位置$ DirMsDeploy 的$ arg = @( '-verb:同步'; ' - 源:的contentPath =' + $ buildDroppedLocation; '-dest:的contentPath =' + $的DestinationPath; '-whatif> C:\ TEMP \ msdeploy.log' ) $ runMSDeploy =($ DirMsDeploy +「\ Msdeploy.exe」+ $ arg) – wanttogoshreddingeveryday 2011-03-25 19:31:55

+0

現在,我可以將所需的全部內容保存到$ runMSDeploy中。那麼我可以使用其他命令與其餘參數一起運行此msdeploy.exe? – wanttogoshreddingeveryday 2011-03-25 19:33:05

相關問題