簡體   English   中英

是否可以從Cake任務中調用powershell命令

[英]Is it possible to call powershell command from within Cake task

我正在從Psake構建工具切換到Cake( https://cakebuild.net/ )。 我正在為(目前)有9種不同部署的大型解決方案(30多個項目)創建腳本。 在Psake中,調用PowerShell命令很簡單,因為整個腳本已在Powershell中運行。

但是現在我有一個問題。 我必須調用在PS中運行的某些命令,但是找不到執行它們的方法。

一些例子:

taskkill /IM iisexpress.exe
Invoke-Command -ComputerName <testing server> -ScriptBlock {import-module WebAdministration; Stop-Website <'name of website'>}
Invoke-Command -ComputerName <testing server> -ScriptBlock {import-module WebAdministration; Start-Website <'name of website'>}

我嘗試使用StartAndReturnProcess(例如: StartAndReturnProcess(“ taskkill / IM iisexpress.exe”); ),但沒有成功。 我還找到了Cake.IIS插件,該插件可能會解決我在啟動和停止IIS時遇到的問題,但是我還想調用其他PS命令。

是否可以從Task簡單調用PowerShell命令? 像這樣:

Task("DoSomeMagic")
    .Does(() =>
{

    ExecutePowerShellCommad("taskkill /IM iisexpress.exe");
    ExecutePowerShellCommad("Invoke-Command -ComputerName <testing server> -ScriptBlock {import-module WebAdministration; Stop-Website <'name of website'>}");

    //ToDo: other magic
});

謝謝任何回答和最誠摯的問候,馬丁

您看過Cake.PowerShell插件嗎?

可以在此處找到示例用法,但是提供了一個示例(摘自自述文件):

#addin "Cake.Powershell"

Task("Powershell-Script")
    .Description("Run an example powershell command with parameters")
    .Does(() =>
{
    StartPowershellScript("Write-Host", args =>
        {
            args.AppendQuoted("Testing...");
        });
});

自述文件中有更復雜的示例,具體取決於您要實現的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM