用于在 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
的新 属性 和结果
我这里有一个脚本可以获取 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
的新 属性 和结果