使用 powershell 更改变量特定文本并创建 table
Change variable specific text with powershell and create a table
我正在尝试更改包含 table 的变量中的一些词。
我能够使用带有 -replace 的 foreach 来完成它,但是我无法再次形成 table。
第一次尝试
$vms = Get-AZVm -status | Select-Object -Property Name, ResourceGroupName , PowerState
$tabla = foreach ($item in $vms) {
$item.Name
$item.ResourceGroupName
$item.PowerState -replace 'VM Deallocated','Apagada' -replace 'VM running','Encendida'
} | Format-Table
第二次尝试
$vms |foreach{$_.PowerState -replace 'VM Deallocated','Apagada' -replace 'VM running','Encendida'} | Select-Object -Property Name, ResourceGroupName , PowerState | format-table -autosize
我希望在替换 table 中的文本后保留与 table 相同的内容,而不是文本
我自己无法测试,但我认为使用计算的 属性 最简单:
$vms = Get-AzVM -status |
Select-Object -Property Name, ResourceGroupName,
@{Name = 'PowerState'; Expression = {($_.PowerState -replace 'VM Deallocated','Apagada') -replace 'VM running','Encendida'}}
$vms | Format-Table -AutoSize
我会在数组中创建我的 table 并设置其内容...
$vms = Get-AZVm -status | Select-Object -Property Name, ResourceGroupName , PowerState
$tabla = @{
"Name" = ""
"ResourceGroupName" = ""
"PowerState" = ""
}
foreach ($item in $vms) {
$record."Name" = $item.Name
$record."ResourceGroupName" = $item.ResourceGroupName
$record."PowerState" = $item.PowerState -replace 'VM Deallocated','Apagada' -replace 'VM running','Encendida'
$objRecord = New-Object PSObject -Property $record
$tabla += $objRecord
}
$tabla
我正在尝试更改包含 table 的变量中的一些词。
我能够使用带有 -replace 的 foreach 来完成它,但是我无法再次形成 table。
第一次尝试
$vms = Get-AZVm -status | Select-Object -Property Name, ResourceGroupName , PowerState
$tabla = foreach ($item in $vms) {
$item.Name
$item.ResourceGroupName
$item.PowerState -replace 'VM Deallocated','Apagada' -replace 'VM running','Encendida'
} | Format-Table
第二次尝试
$vms |foreach{$_.PowerState -replace 'VM Deallocated','Apagada' -replace 'VM running','Encendida'} | Select-Object -Property Name, ResourceGroupName , PowerState | format-table -autosize
我希望在替换 table 中的文本后保留与 table 相同的内容,而不是文本
我自己无法测试,但我认为使用计算的 属性 最简单:
$vms = Get-AzVM -status |
Select-Object -Property Name, ResourceGroupName,
@{Name = 'PowerState'; Expression = {($_.PowerState -replace 'VM Deallocated','Apagada') -replace 'VM running','Encendida'}}
$vms | Format-Table -AutoSize
我会在数组中创建我的 table 并设置其内容...
$vms = Get-AZVm -status | Select-Object -Property Name, ResourceGroupName , PowerState
$tabla = @{
"Name" = ""
"ResourceGroupName" = ""
"PowerState" = ""
}
foreach ($item in $vms) {
$record."Name" = $item.Name
$record."ResourceGroupName" = $item.ResourceGroupName
$record."PowerState" = $item.PowerState -replace 'VM Deallocated','Apagada' -replace 'VM running','Encendida'
$objRecord = New-Object PSObject -Property $record
$tabla += $objRecord
}
$tabla