【问题标题】:ConvertFrom-StringData values stored in variableConvertFrom-StringData 值存储在变量中
【发布时间】:2020-04-27 11:10:32
【问题描述】:

我是 Powershell 新手,我正在编写一个脚本,该脚本将从存储在 Excel 文件中的数据中填充所有变量。基本上是为了创建大量的虚拟机。

这很好用,除了我有一个具有多个名称/值对的变量,powershell 需要成为一个哈希表。

由于每个虚拟机都需要应用多个标签,因此我在 Excel 中有一个名为标签的列。 该字段中的数据类似于:“Top = Red `n Bottom = Blue”。

我正在努力使用 ConvertFrom-StringData 来为这些标签创建哈希表。 如果我运行:

ConvertFrom-StringData $exceldata.Tags

我最终得到了类似的东西:

名称值 ---- ----- 顶部红色`n底部=蓝色

我需要帮助正确格式化 excel 字段,以便 ConvertFrom-StringData 正确创建哈希表。或者是实现这一目标的更好方法。

谢谢。

【问题讨论】:

    标签: hashtable


    【解决方案1】:

    对其进行排序,将 excel 字段格式化为:Dept=it;env=prod;owner=Me

    然后运行以下命令。不需要 ConvertFrom-StringData。

    $artifacts = Import-Excel -Path "C:\temp\Artifacts.xlsx" -WorkSheetname "VM"
    foreach ($artifact in $artifacts) { 
    $inputkeyvalues = $artifact.Tags
    # Create hashtable
    $tags = @{}
    # Split input string into pairs
    $inputkeyvalues.Split(';') |ForEach-Object {
    # Split each pair into key and value
    $key,$value = $_.Split('=')
    # Populate $tags
    $tags[$key] = $value
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-23
      • 2021-07-19
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-11
      相关资源
      最近更新 更多