Ho un array di oggetti della seguente struttura:Unione e intersezione in PowerShell?
structure Disk
{
int UID;
String Computer;
}
Un computer può avere un gruppo di dischi condivisi, e un disco può essere condiviso tra i computer.
Voglio scoprire tutti i dischi comuni a tutti i computer. Ad esempio, ho computer A, B e C; Dischi 1, 2 e 3. L'array del disco è {1, A}, {1, B}, {2, A}, {2, B}, {2, C}, {3, A}. Il risultato che voglio dovrebbe essere il disco 2, perché appare su A, B e C.
Esiste un modo efficace per raggiungere questo obiettivo?
Con più cicli foreach è possibile, ma sicuramente voglio un modo migliore. Sto pensando a operazioni come l'intersezione, ma non ho trovato questo in PowerShell.
Si consiglia di modificare il titolo in "Unione, intersezione e differenza/Imposta sottrazione in PowerShell". Quindi avremo tutte le operazioni in un posto. –
In base alla domanda e ai suggerimenti qui riportati, ho creato una funzione di PowerShell per fare Union, Intersection e Minus per gli oggetti. Dai un'occhiata a: https://sqljana.wordpress.com/2015/09/23/perform-set-operations-union-intersection-minus-complement-using-powershell/ –