在Powershell中进行MSdeploy - 显示或帮助我一些真正有用的东西

时间:2011-03-24 01:16:40

标签: iis-7 powershell msdeploy

我在工作中设置了TFS Deployer currenlty,并尝试为部署编写Powershell脚本。我已经在StackoverFlow上研究并阅读了许多已发布的问题和答案,但我还是无法使脚本正常工作。

到目前为止,当我在Windows PowerShell ISE上运行以下PS时,它会运行。

$ envMsDeploy = $ env:msdeploy
  $ DirMsDeploy = split-Path -Parent $ envMsDeploy

#将当前位置定义为$ DirMSDeploy = C:\ Program Files \ IIS \ Microsoft Web Deploy V2
  设置位置$ DirMsDeploy

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


  $ runMSDeploy =($ DirMsDeploy +“\ Msdeploy.exe”+ $ arg)
  $ runMSDeploy |输出文件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文件包含空文件夹,cmd不能成功运行而不是给我错误,“cmd.exe:'C:\ Program'不被识别为内部或外部命令”

如果您有任何建议或想法,请告诉我。

感谢,

wanttogoshreddingeveryday

2 个答案:

答案 0 :(得分:0)

这是一个使用参数

启动notepad.exe的小例子
function F([string]$file)
 { 
    notepad.exe $file
 } 

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

JP

答案 1 :(得分:0)

试试这个要点。它应该包含您通过powershell https://gist.github.com/579086

部署所需的一切

它使用Psake,但没有它也可以。