เจนเฉ เจนเจฌเจฐ! เจฎเฉเจ เจฒเฉเจ เจฆเจพ เจ
เจจเฉเจตเจพเจฆ เจคเฉเจนเจพเจกเฉ เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจชเฉเจธเจผ เจเจฐเจฆเจพ เจนเจพเจ
เจฎเฉเจ เจตเจพเจ
เจฆเจพ เจเจฐเจฆเจพ เจนเจพเจ เจเจฟ เจเจน เจเจเจธเฉเจฎเฉเจฐเฉเจจ เจจเจนเฉเจ เจนเฉ"
เจเจฌเจเฉเจเจ-เจเจฐเฉเจเจเจเจฟเจก เจ เจคเฉ เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเฉเจฐเจพเจฎเจฟเฉฐเจ เจชเฉเจฐเจพเจกเจพเจเจฎเจเจผ เจเฉฑเจ เจฆเฉเจเฉ เจจเจพเจฒ เจฎเจคเจญเฉเจฆ เจเจพเจชเจฆเฉ เจนเจจ, เจชเจฐ เจชเจพเจตเจฐเจธเจผเฉเจฒ เจตเจฟเฉฑเจ เจฆเฉเจตเฉเจ เจฌเจฐเจพเจฌเจฐ เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค เจฒเจเจญเจ เจธเจพเจฐเฉเจเจ เจชเฉเจฐเฉเจเฉเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพเจตเจพเจ, เจเจพเจฐเจเจธเจผเฉเจฒ เจเจพเจ เจจเจนเฉเจ, เจตเจฟเจธเจคเฉเจฐเจฟเจค เจจเจพเจฎ-เจฎเฉเฉฑเจฒ เจฌเจพเจเจกเจฟเฉฐเจ เจฒเจ เจธเฉเจตเจฟเจงเจพเจตเจพเจ เจนเจจ; เจเจฒเจพเจธเจพเจ, เจเจฟเจตเฉเจ เจเจฟ เจขเจพเจเจเฉ เจ เจคเฉ เจฐเจฟเจเจพเจฐเจก, เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจชเจนเฉเฉฐเจ เจนเจจเฅค เจเฉเจเจฐ เจ เจธเฉเจ เจเจฒเจพเจธเจพเจ เจฆเฉ เจธเจพเจกเฉ เจตเจฐเจคเฉเจ เจจเฉเฉฐ เจจเจพเจฎเจพเจ เจ เจคเฉ เจฎเฉเฉฑเจฒเจพเจ เจฆเฉ เจฌเฉฐเจงเจจ เจคเฉฑเจ เจธเฉเจฎเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ, เจ เจคเฉ เจญเจพเจฐเฉ เจตเจธเจคเฉ-เจ เจงเจพเจฐเจฟเจค เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจงเจพเจฐเจจเจพเจตเจพเจ เจเจฟเจตเฉเจ เจเจฟ เจตเจฟเจฐเจพเจธเจค, เจฌเจนเฉเจฐเฉเจชเจคเจพ, เจเจพเจ เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉเจฒเจคเจพ เจคเฉเจ เจฌเจเจฆเฉ เจนเจพเจ, เจคเจพเจ เจ เจธเฉเจ เจเจชเจฃเฉ เจเฉเจก เจจเฉเฉฐ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพเจ เจฌเจฟเจจเจพเจ เจเจนเจจเจพเจ เจฆเฉ เจฒเจพเจญเจพเจ เจฆเจพ เจฒเจพเจญ เจฒเฉ เจธเจเจฆเฉ เจนเจพเจเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจ เจเฉฑเจฒ เจเจฟเจธเจฎ เจฆเฉ เจชเจฐเจฟเจตเจฐเจคเจจ เจตเจฟเจงเฉเจเจ เจจเฉเฉฐ เจเฉเฉ เจเฉ, เจ เจธเฉเจ เจเจฒเจพเจธเจพเจ เจฆเฉ เจจเจพเจฒ เจธเจพเจกเฉ เจเจพเจฐเจเจธเจผเฉเจฒ เจเฉเจก เจจเฉเฉฐ เจ เจฎเฉเจฐ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเจพเจเฅค
เจเจพเจคเจพเจ เจฆเจพ เจเจพเจฆเฉ
เจชเจพเจตเจฐเจธเจผเฉเจฒ เจตเจฟเฉฑเจ เจเจพเจคเจพเจ เจธเจญ เจคเฉเจ เจธเจผเจเจคเฉเจธเจผเจพเจฒเฉ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเจจเฅค เจเจฆเฉเจ เจคเฉเจธเฉเจ เจเฉเจ เจฎเฉเฉฑเจฒ เจชเจพเจเจเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจธเจผเฉเจฐเฉเจเจคเฉ เจ เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ 'เจคเฉ เจญเจฐเฉเจธเจพ เจเจฐเจฆเฉ เจนเฉ เจเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจคเฉเจนเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจเฉเฉเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจฟเจฐเจซเจผ [xml] เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจคเจฐ เจเจพเจธเจ เจเจฐเจจ เจจเจพเจฒ เจเจน เจชเจพเจฐเจธเจฐ เจเฉเจก เจฐเจพเจนเฉเจ เจเฉฑเจฒเฉเจเจพ เจ เจคเฉ เจเฉฑเจ เจชเฉเจฐเจพ xml เจเฉเจฐเฉ เจคเจฟเจเจฐ เจเจฐเฉเจเจพเฅค เจ เจธเฉเจ เจเจธเฉ เจเจฆเฉเจธเจผ เจฒเจ เจเจชเจฃเฉ เจเฉเจก เจตเจฟเฉฑเจ เจเจฒเจพเจธเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค
เจนเฉเจธเจผเจเฉเจฌเจฒ เจเจพเจธเจ เจเจฐเฉ
เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉฐเจธเจเจฐเจเจเจฐ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจเจฒเจพเจธ เจฆเฉ เจเจฟเจธเจฎ 'เจคเฉ เจนเฉเจธเจผเจเฉเจฌเจฒ เจเจพเจธเจ เจเจฐเจเฉ เจเฉฑเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจเจพเจฐเฉ เจฐเฉฑเจ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจชเฉเจเจฐเจจ เจฆเจพ เจชเฉเจฐเจพ เจซเจพเจเจฆเจพ เจฒเฉเจฃ เจฒเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉเฅค เจเจธ เจฆเฉ เจจเจพเจฒ เจนเฉ, เจ เจธเฉเจ เจเจฒเจพเจธ เจฆเฉเจเจ เจเจพเจเจช เจเฉเจคเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจกเฉเฉฐเจเฉ เจธเจผเฉเจฐเฉเจเจคเฉ เจ เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจคเจฐเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค
class Cluster {
[ValidatePattern("^[A-z]+$")]
[string] $Service
[ValidateSet("TEST", "STAGE", "CANARY", "PROD")]
[string] $FlightingRing
[ValidateSet("EastUS", "WestUS", "NorthEurope")]
[string] $Region
[ValidateRange(0, 255)]
[int] $Index
}
[Cluster]@{
Service = "MyService"
FlightingRing = "PROD"
Region = "EastUS"
Index = 2
}
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจพเจธเจเจฟเฉฐเจ เจเฉฑเจ เจธเจพเจซเจผ เจเจเจเจชเฉเฉฑเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐเจฆเฉ เจนเฉเฅค เจซเจพเจฐเจฎเฉเจ-เจเฉเจฌเจฒ เจจเฉเฉฐ เจชเจพเจธ เจเฉเจคเฉ เจเจ เจเจฒเฉฑเจธเจเจฐ เจนเฉเจธเจผเจเฉเจฌเจฒ เจเจฐเฉ เจฆเฉ เจเจเจเจชเฉเฉฑเจ เจฆเฉ เจคเฉเจฒเจจเจพ เจเจฐเฉ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉ เจฎเจฟเจฒเจฆเจพ เจนเฉ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจนเฉเจธเจผเจเฉเจฌเจฒเจพเจ เจจเฉเฉฐ เจชเจนเจฟเจฒเฉ เจเจฒเจพเจธ เจตเจฟเฉฑเจ เจเจพเจธเจ เจเจฐเจฆเฉ เจนเฉเฅค เจเฉฑเจ เจเจฒเจพเจธ เจฆเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจนเจฎเฉเจธเจผเจพเจ เจเจธเฉ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจธเฉเจเฉเจฌเฉฑเจง เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเฉฑเจฅเฉ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจเจนเจจเจพเจ เจธเจพเจฐเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจฒเฉเจเฉ เจนเฉเจ เจเฉเจตเจฐเจก เจจเฉเฉฐ เจเฉเฉเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ เจเฉ เจคเฉเจธเฉเจ เจจเจคเฉเจเจฟเจเจ เจตเจฟเฉฑเจ เจฆเจฟเจเจพเจ เจจเจนเฉเจ เจฆเฉเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉเฅค
เจ เจฐเจฅเจพเจ เจฆเฉ เจเจพเจธเจ
เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจเจฐเจเฉเจฎเฉเจเจ เจตเจพเจฒเจพ เจเฉฑเจ เจเฉฐเจธเจเจฐเจเจเจฐ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจกเฉ เจเจฒเจพเจธ เจฆเฉ เจเจฟเจธเจฎ เจตเจฟเฉฑเจ เจเฉฑเจ เจฎเฉเฉฑเจฒ เจชเจพเจเจฃเจพ เจคเฉเจนเจพเจกเฉ เจเฉฐเจธเจเจฐเจเจเจฐ เจจเฉเฉฐ เจฎเฉเฉฑเจฒ เจชเจพเจธ เจเจฐเฉเจเจพ, เจเจฟเฉฑเจฅเฉ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจเจฒเจพเจธ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ เจธเจผเฉเจฐเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
class Cluster {
[ValidatePattern("^[A-z]+$")]
[string] $Service
[ValidateSet("TEST", "STAGE", "CANARY", "PROD")]
[string] $FlightingRing
[ValidateSet("EastUS", "WestUS", "NorthEurope")]
[string] $Region
[ValidateRange(0, 255)]
[int] $Index
Cluster([string] $id) {
$this.Service, $this.FlightingRing, $this.Region, $this.Index = $id -split "-"
}
}
[Cluster]"MyService-PROD-EastUS-2"
เจฒเจพเจเจจ เจตเจฟเฉฑเจ เจเจพเจธเจ เจเจฐเฉ
เจคเฉเจธเฉเจ เจเจฌเจเฉเจเจ เจฆเฉ เจธเจเฉเจฐเจฟเฉฐเจ เจชเฉเจฐเจคเฉเจจเจฟเจงเจคเจพ เจฆเฉ เจชเจฟเฉฑเจเฉ เจคเจฐเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ [string] ToString() เจเจฒเจพเจธ เจตเจฟเจงเฉ เจจเฉเฉฐ เจตเฉ เจเจตเจฐเจฐเจพเจเจก เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจธเจเฉเจฐเจฟเฉฐเจ เจเฉฐเจเจฐเจชเฉเจฒเฉเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพเฅค
class Cluster {
[ValidatePattern("^[A-z]+$")]
[string] $Service
[ValidateSet("TEST", "STAGE", "CANARY", "PROD")]
[string] $FlightingRing
[ValidateSet("EastUS", "WestUS", "NorthEurope")]
[string] $Region
[ValidateRange(0, 255)]
[int] $Index
[string] ToString() {
return $this.Service, $this.FlightingRing, $this.Region, $this.Index -join "-"
}
}
$cluster = [Cluster]@{
Service = "MyService"
FlightingRing = "PROD"
Region = "EastUS"
Index = 2
}
Write-Host "We just created a model for '$cluster'"
เจฒเฉเฉเจฌเฉฑเจง เจเจฆเจพเจนเจฐเจจเจพเจ เจจเฉเฉฐ เจเจพเจธเจ เจเจฐเฉ
เจเจพเจธเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจกเฉเจธเฉเจฐเฉเจ เจฒเจพเจเจเจผเฉเจธเจผเจจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจ เจธเจซเจฒ เจนเฉ เจเจพเจฃเจเฉเจเจ เจเฉเจเจฐ เจกเฉเจเจพ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจจเจฟเจฐเจงเจพเจฐเจจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉ
# ะะฐะปะธะดะฐัะธั ัะตัะธะฐะปะธะทะพะฒะฐะฝะฝัั
ะดะฐะฝะฝัั
[Cluster]$cluster = Get-Content "./my-cluster.json" | ConvertFrom-Json
[Cluster[]]$clusters = Import-Csv "./my-clusters.csv"
เจคเฉเจนเจพเจกเฉ เจเจพเจฐเจเจพเจคเจฎเจ เจเฉเจก เจตเจฟเฉฑเจ เจเจพเจคเจพเจ
เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจชเจนเจฟเจฒเจพเจ เจกเฉเจเจพ เจธเจเจฐเจเจเจฐ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจจ, เจซเจฟเจฐ เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉเจฒ เจกเฉเจเจพ เจธเจเฉเจฐเจเจเจฐ เจเฉฑเจคเฉ เจชเจฐเจฟเจตเจฐเจคเจจ เจฆเฉ เจเฉเจฐเจฎ เจตเจเฉเจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเฉ เจนเจจเฅค เจตเจฟเจฐเฉเจงเจพเจญเจพเจธเฉ เจชเฉเจฐเจญเจพเจต เจฆเฉ เจฌเจพเจตเจเฉเจฆ, เจเจฒเจพเจธเจพเจ เจ เจธเจฒ เจตเจฟเฉฑเจ เจคเฉเจนเจพเจจเฉเฉฐ เจซเฉฐเจเจธเจผเจจเจฒ เจเฉเจก เจฒเจฟเจเจฃ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐเจฆเฉเจเจ เจนเจจ, เจเจพเจเจช เจชเจฐเจฟเจตเจฐเจคเจจ เจตเจฟเจงเฉเจเจ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆเฅค
เจเฉ Powershell เจเฉ เจฎเฉเจ เจฒเจฟเจ เจฐเจฟเจนเจพ เจนเจพเจ เจเจพเจฐเจเจธเจผเฉเจฒ เจนเฉ?
C# เจเจพเจ เจธเจฎเจพเจจ เจชเจฟเจเฉเจเฉ เจตเจพเจฒเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฒเฉเจ Powershell เจฒเจฟเจ เจฐเจนเฉ เจนเจจ, เจเฉ เจเจฟ C# เจฆเฉ เจธเจฎเจพเจจ เจนเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจจเจพเจฒ, เจคเฉเจธเฉเจ เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเฉเจฐเจพเจฎเจฟเฉฐเจ เจธเฉฐเจเจฒเจชเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจคเฉเจ เจฆเฉเจฐ เจเจพ เจฐเจนเฉ เจนเฉ เจ เจคเฉ เจชเจพเจตเจฐเจธเจผเฉเจฒ เจตเจฟเฉฑเจ เจเจฌเจเฉเจเจ-เจเจฐเฉเจเจเจเจก เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจเฉเจคเจพเจเฉเจฐเฉ เจเจฐเจจ เจเจพเจ เจซเฉฐเจเจธเจผเจจเจฒ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจฌเจพเจฐเฉ เจนเฉเจฐ เจธเจฟเฉฑเจเจฃ เจคเฉเจ เจธเฉฐเจญเจพเจตเจค เจคเฉเจฐ 'เจคเฉ เจฒเจพเจญ เจชเฉเจฐเจพเจชเจค เจเจฐเฉเจเฉเฅค
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจชเจพเจเจชเจฒเจพเจเจจเจพเจ (|), Where-Object, ForEach-Object, Select-Object, Group-Object, Sort-Object, เจเจฆเจฟ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจ เจเฉฑเจฒ เจกเจพเจเจพ เจฌเจฆเจฒเจฃ 'เจคเฉ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจญเจฐเฉเจธเจพ เจเจฐเจฆเฉ เจนเฉ - เจคเจพเจ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจตเจงเฉเจฐเฉ เจเจพเจฐเจเจธเจผเฉเจฒ เจธเจผเฉเจฒเฉ เจนเฉ เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ Powershell เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเจพ เจซเจพเจเจฆเจพ เจนเฉเจตเฉเจเจพเฅค เจเฉฑเจ เจเจพเจฐเจเจพเจคเจฎเจ เจธเจผเฉเจฒเฉ เจตเจฟเฉฑเจ เจเจฒเจพเจธเจพเจ.
เจเจฒเจพเจธเจพเจ เจฆเฉ เจเจพเจฐเจเจธเจผเฉเจฒ เจตเจฐเจคเฉเจ
เจเจพเจคเฉเจเจ, เจนเจพเจฒเจพเจเจเจฟ เจเจน เจเฉฑเจ เจตเจฟเจเจฒเจชเจฟเจ เจธเฉฐเจเฉเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉเจเจ เจนเจจ, เจฆเฉ เจกเฉเจฎเฉเจจเจพเจ เจตเจฟเจเจเจพเจฐ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจฎเฉเจชเจฟเฉฐเจ เจนเจจเฅค เจชเจพเจเจชเจฒเจพเจเจจ เจตเจฟเฉฑเจ, เจคเฉเจธเฉเจ ForEach-Object เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฎเฉเฉฑเจฒเจพเจ เจฆเฉ เจเฉฑเจ เจเจฐเฉ เจจเฉเฉฐ เจฎเฉเจช เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ, เจจเฉเจก เจเฉฐเจธเจเจฐเจเจเจฐ เจจเฉเฉฐ เจนเจฐ เจตเจพเจฐ เจเฉฑเจ เจกเฉเจเจฎ เจเจพเจธเจ เจเจฐเจจ 'เจคเฉ เจเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจเจน เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจเจเจฟเจค เจฎเจพเจคเจฐเจพ เจตเจฟเฉฑเจ เจเฉเจก เจจเจพ เจฒเจฟเจเจฃ เจฆเจพ เจฎเฉเจเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจจเจคเฉเจเฉ เจตเจเฉเจ, เจธเจพเจกเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจเฉเจธเจผเจฃเจพเจคเจฎเจ เจกเฉเจเจพ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจ เจคเฉ เจเจเฉเจเจฐเจฃ 'เจคเฉ เจเฉเจเจฆเฉเจฐเจค เจเจฐเจฆเฉ เจนเฉ, เจเจฆเฉเจ เจเจฟ เจธเจพเจกเฉเจเจ เจเจฒเจพเจธเจพเจ เจกเฉเจเจพ เจชเจพเจฐเจธเจฟเฉฐเจ เจ เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจฆเจพ เจงเจฟเจเจจ เจฐเฉฑเจเจฆเฉเจเจ เจนเจจเฅค
# ะัะธะผะตั ะบะพะผะฑะธะฝะธัะพะฒะฐะฝะธั ะบะปะฐััะพะฒ ั ะบะพะฝะฒะตะนะตัะฐะผะธ ะดะปั separation of concerns ะฒ ะบะพะฝะฒะตะนะตัะฐั
class Node {
[ValidateLength(3, 7)]
[string] $Name
[ValidateSet("INT", "PPE", "PROD")]
[string] $FlightingRing
[ValidateSet("EastUS", "WestUS", "NorthEurope", "WestEurope")]
[string] $Region
Node([string] $Name) {
$Name -match "([a-z]+)(INT|PPE|PROD)([a-z]+)"
$_, $this.Service, $this.FlightingRing, $this.Region = $Matches
$this.Name = $Name
}
}
class Datum {
[string] $Name
[int] $Value
[Node] $Computer
[int] Severity() {
$this.Name -match "[0-9]+$"
return $Matches[0]
}
}
Write-Host "Urgent Security Audit Issues:"
Import-Csv "./audit-results.csv" `
| ForEach-Object {[Datum]$_} `
| Where-Object Value -gt 0 `
| Group-Object {$_.Severity()} `
| Where-Object Name -lt 2 `
| ForEach-Object Group `
| ForEach-Object Computer `
| Where-Object FlightingRing -eq "PROD" `
| Sort-Object Name, Region -Unique
เจฎเฉเฉ เจตเจฐเจคเฉเจ เจฒเจ เจชเฉเจเฉเจเจฟเฉฐเจ เจเจฒเจพเจธ
เจเฉเจ เจตเฉ เจเจจเจพ เจเฉฐเจเจพ เจจเจนเฉเจ เจนเฉ เจเจฟเฉฐเจจเจพ เจเจน เจฒเฉฑเจเจฆเจพ เจนเฉ
เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจเจฒเจพเจธเจพเจ เจจเฉเฉฐ เจซเฉฐเจเจธเจผเจจเจพเจ เจเจพเจ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฎเฉเจกเฉเจเจฒ เจฆเฉเจเจฐเจพ เจจเจฟเจฐเจฏเจพเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ; เจชเจฐ เจเฉเจ เจเฉเจฐเฉเจฐ เจนเจจเฅค เจฎเฉฐเจจ เจฒเจ เจเจฟ เจคเฉเจนเจพเจกเฉเจเจ เจเจฒเจพเจธเจพเจ เจซเจพเจเจฒ ./my-classes.ps1 เจตเจฟเฉฑเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจนเจจ
-
เจคเฉเจธเฉเจ เจเจฒเจพเจธเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจซเจพเจเจฒ เจจเฉเฉฐ เจกเจพเจเจธเฉเจฐเจธ เจเจฐ เจธเจเจฆเฉ เจนเฉ:. ./my-classes.ps1. เจเจน เจคเฉเจนเจพเจกเฉ เจฎเฉเจเฉเจฆเจพ เจฆเจพเจเจฐเฉ เจตเจฟเฉฑเจ my-classes.ps1 เจจเฉเฉฐ เจเจฒเจพเจเจเจพ เจ เจคเฉ เจเฉฑเจฅเฉ เจซเจพเจเจฒ เจคเฉเจ เจธเจพเจฐเฉเจเจ เจเจฒเจพเจธเจพเจ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเฉเจเจพเฅค
-
เจคเฉเจธเฉเจ เจเฉฑเจ Powershell เจฎเฉเจกเฉเจเจฒ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ เจเฉ เจคเฉเจนเจพเจกเฉ เจธเจพเจฐเฉ เจเจธเจเจฎ API (cmdlets) เจจเฉเฉฐ เจจเจฟเจฐเจฏเจพเจค เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจคเฉเจนเจพเจกเฉ เจฎเฉเจกเฉเจเจฒ เจฎเฉเจจเฉเจซเฉเจธเจ เจตเจฟเฉฑเจ ScriptsToProcess = "./my-classes.ps1" เจตเฉเจฐเฉเจเจฌเจฒ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐ เจธเจเจฆเจพ เจนเฉ, เจเจธเฉ เจจเจคเฉเจเฉ เจฆเฉ เจจเจพเจฒ: ./my-classes.ps1 เจตเจฟเฉฑเจ เจเจฒเจพเจเจ เจเจพเจตเฉเจเจพเฅค เจคเฉเจนเจพเจกเจพ เจตเจพเจคเจพเจตเจฐเจฃ
เจคเฉเจธเฉเจ เจเฉ เจตเฉ เจตเจฟเจเจฒเจช เจเฉเจฃเจฆเฉ เจนเฉ, เจฏเจพเจฆ เจฐเฉฑเจเฉ เจเจฟ เจชเจพเจตเจฐเจธเจผเฉเจฒ เจฆเจพ เจเจพเจเจช เจธเจฟเจธเจเจฎ เจตเฉฑเจ-เจตเฉฑเจ เจฅเจพเจตเจพเจ เจคเฉเจ เจฒเฉเจก เจเฉเจคเฉ เจเฉฑเจเฉ เจจเจพเจฎ เจฆเฉเจเจ เจเจฟเจธเจฎเจพเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเจพเฅค
เจญเจพเจตเฉเจ เจคเฉเจธเฉเจ เจตเฉฑเจเฉ-เจตเฉฑเจ เจฅเจพเจตเจพเจ เจคเฉเจ เจเฉฑเจเฉ เจเจฟเจนเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจตเจพเจฒเฉ เจฆเฉ เจธเจฎเจพเจจ เจเจฒเจพเจธเจพเจ เจจเฉเฉฐ เจฒเฉเจก เจเจฐเจฆเฉ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจตเจฟเฉฑเจ เจเจเจฃ เจฆเจพ เจเจผเจคเจฐเจพ เจนเฉเฅค
เจ เฉฑเจเฉ เจฆเจพ เจฐเจธเจคเจพ
เจเจพเจเจช เจฐเฉเจเจผเฉเจฒเฉเจธเจผเจจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจคเฉเจ เจฌเจเจฃ เจฆเจพ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจคเจฐเฉเจเจพ เจเจน เจนเฉ เจเจฟ เจเจฆเฉ เจตเฉ เจเจชเจฃเฉเจเจ เจเจฒเจพเจธเจพเจ เจจเฉเฉฐ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฆเฉ เจธเจพเจนเจฎเจฃเฉ เจจเจพ เจชเฉเจธเจผ เจเจฐเฉเฅค เจเจชเจญเฉเจเจคเจพ เจคเฉเจ เจเจฒเจพเจธ-เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฟเจธเจฎ เจจเฉเฉฐ เจเจฏเจพเจค เจเจฐเจจ เจฆเฉ เจเจฎเฉเจฆ เจเจฐเจจ เจฆเฉ เจฌเจเจพเจ, เจเจชเจฃเฉ เจฎเฉเจกเฉเจเจฒ เจคเฉเจ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจจเจฟเจฐเจฏเจพเจค เจเจฐเฉ เจเฉ เจธเจฟเฉฑเจงเฉ เจเจฒเจพเจธ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจจเฉเฉฐ เจเจคเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจเจฒเฉฑเจธเจเจฐ เจฒเจ, เจ เจธเฉเจ เจเฉฑเจ เจจเจตเจพเจ-เจเจฒเฉฑเจธเจเจฐ เจซเฉฐเจเจธเจผเจจ เจจเจฟเจฐเจฏเจพเจค เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจเฉ เจเจชเจญเฉเจเจคเจพ-เจ เจจเฉเจเฉเจฒ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจธเฉเฉฑเจเจพเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเฉเจเจพ เจ เจคเฉ เจเฉฑเจ เจเจฒเฉฑเจธเจเจฐ เจตเจพเจชเจธ เจเจฐเฉเจเจพเฅค
class Cluster {
[ValidatePattern("^[A-z]+$")]
[string] $Service
[ValidateSet("TEST", "STAGE", "CANARY", "PROD")]
[string] $FlightingRing
[ValidateSet("EastUS", "WestUS", "NorthEurope")]
[string] $Region
[ValidateRange(0, 255)]
[int] $Index
}
function New-Cluster {
[OutputType([Cluster])]
Param(
[Parameter(Mandatory, ParameterSetName = "Id", Position = 0)]
[ValidateNotNullOrEmpty()]
[string] $Id,
[Parameter(Mandatory, ParameterSetName = "Components")]
[string] $Service,
[Parameter(Mandatory, ParameterSetName = "Components")]
[string] $FlightingRing,
[Parameter(Mandatory, ParameterSetName = "Components")]
[string] $Region,
[Parameter(Mandatory, ParameterSetName = "Components")]
[int] $Index
)
if ($Id) {
$Service, $FlightingRing, $Region, $Index = $Id -split "-"
}
[Cluster]@{
Service = $Service
FlightingRing = $FlightingRing
Region = $Region
Index = $Index
}
}
Export-ModuleMember New-Cluster
เจนเฉเจฐ เจเฉ เจชเฉเฉเจนเจจเจพ เจนเฉ
เจธเจฐเฉเจค: www.habr.com