【问题标题】:Build variables from properties in Powershell script从 Powershell 脚本中的属性构建变量
【发布时间】:2021-09-07 01:40:05
【问题描述】:

我正在尝试构建一个脚本来收集服务器列表的 DFSR 积压详细信息。 到目前为止,该脚本将查询一个文本文件以获取服务器列表。 从该列表中,它将使用各种 Powershell 命令来确定它是哪些复制组的成员以及它具有哪些连接。一旦我将这些数据存储在变量中,我就可以在 dfsrdiag backlog 中使用它来检查状态。

我遇到的问题是如何捕获选择属性并将其设置为可用于创建 dfsrdiag 命令的变量。

任何人都知道选择特定属性并将其存储到 Powershell 中的变量的最佳方法吗?

干杯

伍兹

【问题讨论】:

  • 您忘记发布代码以便我们提供帮助。
  • 嗨,亚伯拉罕,我才刚刚开始使用脚本。我试图找到如何从属性中设置变量。那将是通用的,然后我可以将其应用于我正在查询的对象。我现在是 WFH,所以没有可用的脚本。
  • 嗨@Woodsy,我有一些建议可以帮助您发布帖子。至少,SO 成员希望看到您的问题代码的 [mvce],而您没有包括在内。此外,“[什么是] 做 X 的最佳方式?”倾向于征求基于意见的答案,这不是该社区的正确格式。我建议尝试使用代码(即使它不是 伟大的 尝试,至少您尝试过)并编辑该尝试。我还将改写您的“最佳方式”行以专注于任何您在尝试中遇到的问题。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: powershell global-variables


【解决方案1】:

这是一个使用get-service 的简单示例。您可以创建一个名为 $report 的对象,该对象仅包含您想要的属性。您可以将$Report导出为 CSV。

您需要做的就是将它应用到您的脚本中。

$Services = Get-Service | Where-Object {$_.name -like "A*"}

[Array]$Report = foreach ($service in $Services)
{
    [PScustomobject]@{
        Name = $service.DisplayName
        Shortname = $service.name
        Status = $service.Status
        StartType = $service.StartType
    }
}

$Report | select Name, Shortname, Status, StartType

【讨论】:

  • 谢谢贾德。下次我在办公室时会尝试一下。
  • 感谢贾德今天早上有机会尝试。现在我可以捕获我需要的属性了。
  • 很高兴。你能把我的回答标记为正确/有帮助吗?
猜你喜欢
  • 2019-10-29
  • 2018-03-06
  • 2017-08-06
  • 2019-11-18
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 2016-10-29
  • 2012-08-22
相关资源
最近更新 更多