我正在尝试编写一个简单的包装器,它接受一个输出参数.这就是它现在的样子
function Get-data{
param (
[switch]$network,
[switch]$profile,
[switch]$server,
[switch]$devicebay
)
if ($network.IsPresent) { $item = "network"}
elseif ($profile.IsPresent) {$item = "profile"}
elseif ($server.IsPresent) {$item = "server"}
elseif ($devicebay.IsPresent){$item = "devicebay"}
$command = "show $item -output=script2"
}
Run Code Online (Sandbox Code Playgroud)
显然,这可能是优化的,但我正在努力解决我如何实现它.是否有一些简单的方法来确保只接受和使用单个参数而不诉诸多个elseif语句?
另外,我想提供一系列参数,而不是像现在这样做.
我试图找到一种优雅的方式将下面的数据转换为Powershell对象的集合,但不幸的是我无法找到一种简单的方法.有人能帮助我吗?
名称:ENC1
IPv4地址:172.16.2.101
链接设置:强制,100 Mbit,全双工
名称:ENC2
IPv4地址:172.16.2.103
链接设置:强制,100 Mbit,全双工
名称:ENC3
IPv4地址:172.16.2.103
链接设置:强制,100 Mbps,全双工
名称:ENC4
IPv4地址:172.16.2.104
链接设置:强制,100 Mbps,全双工
这就是我提出的.
$ out = @()
$ text = Get-Content input.txt
$ count = 0
do {
$ line =($ text | select -Skip $ count -first 3)
$ obj =""| 选择名称,IP,设置
$ obj.Name = $ line [0] .split(":")[1]
$ obj.IP = $ line [1] .split(":")[1]
$ obj.Settings = $ line [2] .split(":")[1]
$ out + = $ obj
$ count = $ count …
我使用 CI/CD 演示在 TFS 2017 中有一个简单的构建过程,如https://msdn.microsoft.com/en-us/powershell/dsc/dsccicd 中所述
Build 定义包含四个步骤:
当 Pester 测试失败时,我希望整个构建失败。目前,即使已发布的测试结果显示为失败,构建仍会成功(在构建详细信息的问题部分)。我看不到如何强制整个构建失败查看构建定义参数。