나는 이것을 며칠 동안 고민해 왔으며 그것을 어떻게 극복해야할지 확신이 없다.동적 변수를 기반으로 Powershell에서 배열을 만들고 채우는 방법은 무엇입니까?
가져 오기 다음과 같은 값을 가진 사용자의 CSV : 나는 다음을 수행 할 필요가
ID, 이름 지역
을 그때로 채우는 데 사용할 수있는 지역의 값을 기준으로 배열 만들기 그 지역의 ID와 이름, 즉.
Array_SEA
AA_SCOM, 아담 앤드류스, SEA
Array_OAK
BB_SCOM, 밥 바커, OAK
여기에 내가 지금 가지고 코드입니다 :
$list2 = ipcsv .\TSE_Contact_List.csv | sort-object BU
$arraylist [email protected]()
foreach ($vitem in $list2)
{
$arraylist += New-Object PsObject -Property @{'Array' = "Array_" + $vitem.bu}
}
foreach ($varray in $arraylist)
{
$arr = new-variable -Name $varray
$arr.value += $varray.array
$arr
}
중복 reg가있는 레코드에 대해 다음 오류가 생성됩니다. ions : 새 변수 : 이름이 '@ {Array = Array_SCA}'인 변수가 이미 있습니다.
값 '을 (를) 추가하려고하면 다음과 같은 오류가 표시됩니다.'value '속성을 찾을 수 없습니다. 그것이 존재하고 설정 가능한지 확인하십시오.
나는 두 번째 섹션에서 실제로 배열을 생성하지는 않지만 변수 이름을 배열 이름으로 바꾸지 않고 변수의 출력을 배열 이름에 전달하는 방법을 모르겠다. 감각.
내가 해시 테이블과 다음 시도했습니다, 그리고 그것을 가까이 가져옵니다
이$list2 = ipcsv .\TSE_Contact_List.csv | sort-object BU
$arraylist [email protected]{}
foreach ($vitem in $list2){$arraylist[$vitem.bu] = @()}
foreach ($record in $list2)
{
$arraylist[$vitem.bu] += ($record.SCOMID,$record.Name,$record.BU)
Write-host "Array: "
$arraylist[$vitem.bu]
write-host ""
}
이의 출력에 오류를 표시하지 않지만 그냥 각 반복에 대한 모든 레코드의 추가 필드를 보여주는 유지 목록의 각 BU를 배열 이름에 실제로 할당한다고 생각하지 않습니다.
그룹 객체를 사용하지 않는 모든 이유와 그룹화 : 같은
또한 사용할 수
Group-Object
? – mjolinor