在 powershell 中,从 get-adcomputer 结果中添加另一组值

Posted

技术标签:

【中文标题】在 powershell 中,从 get-adcomputer 结果中添加另一组值【英文标题】:In powershell, adding another set of values from a get-adcomputer result 【发布时间】:2022-01-22 09:44:18 【问题描述】:

我有一个从Get-AdComputer 模块获取结果的工作脚本:

Get-ADComputer -Filter 'operatingSystem -like "*Windows 10*"' -Properties *  | 
  Select -Property operatingSystem,operatingSystemVersion

现在我正在尝试添加另一列,将值从 operatingSystemVersion 转换为另一列。

【问题讨论】:

【参考方案1】:

首先使用您的映射创建一个hashtable:

$os = @
  "10.0 (19042)" = "20H2"
  "10.0 (19043)" = "21H1"

然后您可以使用calculated property 在哈希表中查找operatingSystemVersion

Get-ADComputer -Filter 'operatingSystem -like "*Windows 10*"' -Properties *  | 
   Select -Property operatingSystem,operatingSystemVersion,
   @N="Codename";E=$os[$_.operatingSystemVersion]

【讨论】:

太棒了!感谢您的帮助。【参考方案2】:

使用Calculated Properties

查看“NewColumn”的示例将表达式更改为您需要的内容:

Get-ADComputer -Filter 'operatingSystem -like "*Windows 10*"' -Properties *  | 
Select -Property operatingSystem,operatingSystemVersion,
@N="NewColumn";E=$_.operatingSystem.ToUpper()

【讨论】:

感谢您的回复。现在我正在尝试使用 operatingSystemVersion 中的值将其转换为另一个值(1903、1909、20H2 或 21H1)。

以上是关于在 powershell 中,从 get-adcomputer 结果中添加另一组值的主要内容,如果未能解决你的问题,请参考以下文章

使用 Powershell 或 C# 从 TFS 项目中删除用户

如何从PowerShell命令行转义管道字符以传递到非PowerShell命令

从 C# 应用程序的脚本中调用 PowerShell 函数

在 powershell 中传递命令行 $args,从函数到函数

从 .NET Core 运行 PowerShell

c# - 如何在运行时从模块代码中获取 PowerShell 模块版本