用于在 AD 中获取 OS 机器的脚本,然后是 If 语句

Script for getting OS of a machine in AD then If statement

我这里有一个脚本可以获取 AD 中机器的 OS。它工作正常并在 csv 文件中显示 OS。我现在想做的是插入一个 if 语句,如果 OS 是 Windows 10 或 Windows 7,它将在 csv 中输入 Workstation。如果它是 Mac 那么它会在 csv 中显示 Workstation Mac。不太确定在此处插入 If 语句的位置。任何帮助都可以。谢谢

$comps = ForEach ($comp in $(Get-Content "C:\computers.txt")) {

    Get-AdComputer $comp -Properties OperatingSystem

}

$comps |
Select-Object OperatingSystem |
Export-CSV -Path "C:\Asset.csv" -NoTypeInformation

您可以使用 Select-Object 和计算的 属性:

$typeSelector = @{
  Name = 'Type'
  Expression = {
    switch -wildcard ($_.OperatingSystem)
    {
      '*Windows*' { return 'Workstation'}
      '*Mac*' { return 'Workstation Mac'}
      default { return 'Unknown' }
    }
  }
}

$comps |Select-Object OperatingSystem,$typeSelector |Export-CSV -Path "C:\Asset.csv" -NoTypeInformation

Select-Object 将针对 $comps 中的每个项目计算表达式,并附加一个名为 Type 的新 属性 和结果