Hash Table构建

时间:2023-03-09 02:52:48
Hash Table构建
 get-item e:\test\* |format-table @{name="aa";expression={$_.name.tostring().split(".")[1]}}

 get-childitem e:\test\* |select name,@{name="changdu";expression={$_.name.length}},lastwritetime |format-table -autosize

 Get-WmiObject -Class Win32_LogicalDisk -Filter "DriveType=3" -ComputerName . |
Format-Table deviceid,@{Label="free(GB)"; Expression={$_.freespace/1024/1024/1024}},@{Label="size(GB)"; Expression={$_.size/1024/1024/1024}} -AutoSize | Out-String

================================================================

Hash Table只能add两个属性,一个name,一个value

1 $n =$null
2 $n = [pscustomobject]@{
3 Name= 'Boe'
4 Number = 1
5 ID = 007
6 }
7 $n.add("p1","v1")

结果:

Hash Table构建

 $states = @{"Washington" = "Olympia"; "Oregon" = "Salem"; California = "Sacramento"}
$states.Add("Alaska", "Fairbanks")
$states.Remove("Alaska")
$states.Set_Item("Alaska", "Juneau")
$states.Get_Item("Oregon")
$states.ContainsKey("Oregon")
$states.ContainsValue("Salem")
$states | Sort-Object
$states.GetEnumerator() | Sort-Object Name $states.GetEnumerator() | % {$_.name}

结果:  只有 .name和.value 两个属性列,不能再添加其他属性列

Hash Table构建

 $hash=$null
$hash=@{}
$ps = gps
foreach($p in $ps)
{
$hash.add($p.id,$p.processname)
} $hash.getenumerator()| % {$_.name}
# $hash[0] 或者 $hash.getenumerator()[0] #提示出错

结果:

Hash Table构建

===================================================

这个不是Hash Table

 $ps = gps
$hashs = $null
$hashs = @()
Foreach ($p in $ps)
{
$hash = ""|Select pid,pname
$hash.pid = $p.ID
$hash.pname = $p.Processname
$hashs += $hash
} $hashs[0].pid
$hashs.psobject|select -ExpandProperty baseobject
 $results=@()
foreach ($m in $ms)
{
$result=""|select a,b,c
$result.a = $m.a
$result.b = $m.b
$result.c = $m.c
$results += $result
}
$results | export-csv -encoding utf8 -notypeinformation -path c:\perc\result.csv

 Example1:

 $servers="10.4.34.41","10.4.34.40","10.4.34.36"#,"10.4.34.37","10.4.34.39"
$results = @()
foreach ($c in $servers)
{
$serverpass="Dell1950"
$UserName="Administrator"
$Password = ConvertTo-SecureString $serverpass -AsPlainText –Force
$cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)
$cs = gwmi win32_computersystem -computer $c -Credential $cred
$sys = gwmi win32_operatingsystem -computer $c -Credential $cred $result=""|select name,version
$result.name = $cs.name
$result.version =$sys.version
$results +=$result
}
$results

Hash Table构建

=====================

Example2:

 $infors = gc E:\Port-Test_htm\ports01.txt
$results=@()
foreach ($infor in $infors)
{
$a=$infor.split(",")[0]
$b=$infor.split(",")[1]
$result=""|select name,port
$result.name = $a
$result.port = $b
$results += $result
}
$results

aaarticlea/png;base64,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" alt="" />Hash Table构建Hash Table构建