에 system.array에서 항목을 제거 이것은 내 $array
:PowerShell을
$Guid = "CCCC"
$workingName = $array | where Guid -eq $Guid | select name
$array.remove($workingName) #broke!
내가 달성하기 위해 노력하고있어 $Guid = "CCCC"
경우 모든 인스턴스를 제거하는 것입니다 :
Name GUID
---- ----
PC001 AAAA
PC001 BBBB
PC001 CCCC
PC002 AAAA
PC002 DDDD
PC003 AAAA
PC003 CCCC
내 스크립트입니다 이 경우 CCCC
이있는이 예제에서 5 행 (PC001의 경우 3 줄, PC0003의 경우 2 줄) 인 경우 BBBB
이면 PC001의 세 줄만 제거합니다.
참고 :이 훨씬 더 큰 스크립트
$ 배열 | ? {$ _. GUID -ne 'CCCC'}는 Ops가 원하는 것을하지 않습니다. 해당 GUID가있는 항목뿐만 아니라 해당 GUID가있는 항목이있는 이름이있는 항목도 제거해야합니다. 주어진 ops 예제에서 코드는 PC001 AAAA, PC001 BBBB 및 PC003 AAAA를 남겨 둡니다. 그러나 op는 해당 항목을 제거하려고합니다. – DanL
나는 분명히하기 전에 그의 게시물을 불행한 시간을 읽어야했다. 나는 출력 예제가 도움이되었을 것이라고 생각한다. –
NoahSparks 미안하지만 나는 명확하지 않았습니다. 나는 출력 예를 들어 주겠다고 말합니다. 귀하의 노력에 감사드립니다 (나는 투표했습니다). 귀하의 답변이 필요한 정확한 결과물을 제공하지 못한다는 사실을 알고 있었지만 제 대답을 개발하는 데 도움이되었습니다 (답변에 매우 가깝습니다). @ DanL이 주었을 때, 나는 아직'-notin'을 가지고 있지 않았습니다.) 마감 시간을 맞추기 위해 동시에 문제를 해결하기 위해 노력하고 있었지만, 지금까지는 변경 사항을 적용하지 않아서 미안합니다. – idarryl