小编Tra*_*z13的帖子

如何在构建资源管理器中停止构建时执行PowerShell脚本

我有一个要求,当有人在TFS - > Build explorer中停止正在运行的构建时,我需要执行PowerShell脚本.

是否有任何事件或方法可以将我的代码挂钩以实现该目的?

到目前为止,我只知道前后建设活动,但这些对我没有帮助.

注意:我们使用TFS进行源代码控制和构建.并使用Octopus Deploy在各种环境中进行开发.

msbuild powershell visual-studio octopus-deploy

8
推荐指数
1
解决办法
171
查看次数

在DSC中使用文件提供程序 - 确保Destination仅包含Source中的文件

我创建了一个DSC资源来复制某个源的Modules目录.我正在测试它在我的环境中进行更广泛的部署.资源确实很好,确保所有文件都存在,并且它们与源内容相匹配,到目前为止一直很好......

问题是这样的; 我想确保如果目标或目标中有任何其他文件,则删除它们的文件夹.

这是我的代码:

Configuration TestRun
{
  Param 
    (
      $ComputerName = 'Localhost'
    )
  Node $ComputerName
    {
      File LoadModules
        {
          Ensure = 'Present'
          Type = 'Directory'
          Force = $true
          Recurse = $true
          SourcePath = "C:\git\Modules"
          DestinationPath = 'C:\users\Jason\Documents\WindowsPowerShell\Modules'
          Checksum = "SHA-256"
          MatchSource = $true
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在第一次运行配置后,我一直在目的地目录中创建一个名为Deleteme.flag的文件进行测试.到目前为止,我还没有运气实际被删除.

我尝试添加一个额外的文件提供程序要求,以在运行之前删除该目录:

 File RemoveModules
    {
      Ensure = 'absent'
      Type = 'Directory'
      Force = $true
      Recurse = $true
      DestinationPath = 'C:\users\Jason\Documents\WindowsPowerShell\Modules'
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这失败并出现以下错误:

关键属性组合'C:\ users\Jason\Documents\WindowsPowerShell\Modules'与节点'Localhost'中资源'File'的键'DestinationPath'重复.请确保关键属性对于节点中的每个资源都是唯一的.

无论如何,我想用文件资源来做,但显然,使用脚本提供程序或其他一些自定义资源很容易做到这一点.在此先感谢您的帮助!

powershell dsc

5
推荐指数
1
解决办法
6430
查看次数

Azure PowerShell DSC 安装额外模块

作为 Azure 资源组模板的一部分,我为我的 VM 设置了 PowerShell DSC 扩展,该扩展设置了各种 Windows 功能。

作为此自动化设置的一部分,我希望能够在防火墙中打开一些端口,经过一番研究后我发现有一个可用的 xFirewall DSC 模块。我的问题是如何在 DSC 执行之前自动将此模块安装到 Azure VM 上?

我的配置如下:

Configuration Main
{

Param ( [string] $nodeName )

Import-DscResource -ModuleName PSDesiredStateConfiguration
Import-DscResource -ModuleName xFirewall

Node $nodeName
Run Code Online (Sandbox Code Playgroud)

由于未安装模块,xFirewall 导入失败。

我曾考虑过创建另一个可以在此脚本之前运行的 DSC 脚本,但这证明很困难,因为一次只能将一个 DSC 扩展附加到虚拟机。

powershell azure azure-powershell dsc

5
推荐指数
1
解决办法
2102
查看次数

PowerShell函数查找数字的平方:

这是我找到值的平方的函数:

function Get-Square($value)
{
    $result = $value * $value
    return $result
}

$value = Read-Host 'Enter a value'
$result = Get-Square $value
Write-Output "$value * $value = $result"
Run Code Online (Sandbox Code Playgroud)
PS C:\Users> .\Get-Time.ps1
Enter a value: 4
4 * 4 = 4444
Run Code Online (Sandbox Code Playgroud)

为什么结果4444而不是16?谢谢.

powershell function

5
推荐指数
2
解决办法
1649
查看次数

如何在 PowerShell 中从 Windows 更新获取更新历史记录?

有人可以举个例子说明如何在 PowerShell 中从 Windows Update 获取更新历史记录吗?

我在这里找到了 API 文档:https : //msdn.microsoft.com/en-us/library/windows/desktop/bb394842(v=vs.85).aspx

但是,关于如何从 PowerShell 调用它的内容很少。

powershell windows-update

3
推荐指数
1
解决办法
7276
查看次数