Object have properties and methods
List the properties:
"hello" | Get-Member - MemberType Property
Use the properties
"hello".Length
5
$my_string = "hello, world"
$my_string.Contains("world")
True
$my_string.Replace("world", "hi")
$dog = New-Object -TypeName PSCustomObject
// properties
$dog | Add-Member -MemberType NoteProperty -Name "Name" -Value "Medor"
// methods
$dog | Add-Member - MemberType ScriptMetthod -Name "Speak" -Value {Write-Host "Woof!"}
$dog = [PSCustomObject]@{
Name = "Medor"
Age = 10
}
Creating
$my_arr = 25, "test", $False
or
$my_arr = @(25, "test, (Get-Date).DateTime)
Accessing
$my_arr[0] // one item
$my_arr[0,1] // each item
$my_arr[1..5] // from to
$my_arr[-1]
Iteration
$my_arr.ForEach({ $PSItem.Length })
$arr_1 = 1, 2, 3
$arr_2 = 4, 5, 6
$arr_1 + $arr_2
$arr_1 * 2
Containment operators
-contains: -notcontains: -in: -notin: -join
convert array into string join by a given string
$my_arr = 1, 2, 3
$my_arr = $my_arr -join "->"
$my_arr
1->2->3
Force a type
[String[]]$fruits = "apple", "banana"
Array of objects
$dog_arr = @(
[PSCustomObject]@{Name = "Rufus"; Age = 10}
[PSCustomObject]@{Name = "Medor"; Age = 6}
)