创建对象
New-Object
cmdlet 用于创建对象。
# Create a DateTime object and stores the object in variable "$var"
$var = New-Object System.DateTime
# calling constructor with parameters
$sr = New-Object System.IO.StreamReader -ArgumentList "file path"
在许多情况下,将创建一个新对象以导出数据或将其传递给另一个命令行开关。这可以这样做:
$newObject = New-Object -TypeName PSObject -Property @{
ComputerName = "SERVER1"
Role = "Interface"
Environment = "Production"
}
创建对象的方法有很多种。以下方法可能是创建 PSCustomObject
的最短,最快的方法:
$newObject = [PSCustomObject]@{
ComputerName = 'SERVER1'
Role = 'Interface'
Environment = 'Production'
}
如果你已经有了一个对象,但只需要一个或两个额外的属性,你只需使用 Select-Object
添加该属性:
Get-ChildItem | Select-Object FullName, Name,
@{Name='DateTime'; Expression={Get-Date}},
@{Name='PropertieName'; Expression={'CustomValue'}}
所有对象都可以存储在变量中或传递到管道中。你还可以将这些对象添加到集合中,然后在结尾显示结果。
对象集合与 Export-CSV(和 Import-CSV)配合良好。CSV 的每一行都是一个对象,每一列都是一个属性。
格式命令将对象转换为文本流以供显示。避免使用 Format- *命令直到任何数据处理的最后一步,以保持对象的可用性。