PowerShell Logo Small

Get-Unique



This is the built-in help made by Microsoft for the command 'Get-Unique', in PowerShell version 2 - as retrieved from Windows version 'Microsoft® Windows Vista™ Ultimate ' PowerShell help files on 2016-06-23.

For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.

SYNOPSIS

Returns the unique items from a sorted list.

SYNTAX


Get-Unique [-AsString] [-InputObject <psobject>] [<CommonParameters>]
Get-Unique [-OnType] [-InputObject <psobject>] [<CommonParameters>]



Search powershellhelp.space

DESCRIPTION


The Get-Unique cmdlet compares each item in a sorted list to the next item, eliminates duplicates, and returns only one instance of each item. Th
e list must be sorted for the cmdlet to work properly.



<

RELATED LINKS

Online version: http://go.microsoft.com/fwlink/?LinkID=113335
Select-Object
Sort-Object

REMARKS

<

Examples


-------------------------- EXAMPLE 1 --------------------------

C:\PS>$a = $(foreach ($line in get-content C:\Test1\File1.txt) {$line.tolower().split(" ")}) | sort | get-unique

C:\PS> $a.count



Description
-----------
These commands find the number of unique words in a text file.

The first command gets the content of the File.txt file. It converts each line of text to lowercase letters and then splits each word onto a sepa
rate line at the space (" "). Then, it sorts the resulting list alphabetically (the default) and uses the Get-Unique cmdlet to eliminate any dupl
icate words. The results are stored in the $a variable.

The second command uses the Count property of the collection of strings in $a to determine how many items are in $a.








-------------------------- EXAMPLE 2 --------------------------

C:\PS>1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | sort-object | Get-Unique



Description
-----------
This command finds the unique members of the set of integers. The first command takes an array of integers typed at the command line, pipes them
to the Sort-Object cmdlet to be sorted, and then pipes them to Get-Unique, which eliminates duplicate entries.








-------------------------- EXAMPLE 3 --------------------------

C:\PS>get-childitem | sort-object {$_.GetType()} | unique -OnType



Description
-----------
This command uses the Get-ChildItem cmdlet to retrieve the contents of the local directory, which includes files and directories. The pipeline op
erator (|) sends the results to the Sort-Object cmdlet. The "$_.GetType()" statement applies the GetType method to each file or directory. Then,
Sort-Object sorts the items by type. Another pipeline operator sends the results to Get-Unique. The OnType parameter directs Get-Unique to return
only one object of each type.








-------------------------- EXAMPLE 4 --------------------------

C:\PS>get-process | sort-object | select processname | get-unique -asstring



Description
-----------
This command gets the names of processes running on the computer with duplicates eliminated.

The Get-Process command gets all of the processes on the computer. The pipeline operator (|) passes the result to Sort-Object, which, by default,
sorts the processes alphabetically by ProcessName. The results are piped to the Select-Object cmdlet, which selects only the values of the Proce
ssName property of each object. The results are then piped to Get-Unique to eliminate duplicates.

The AsString parameter tells Get-Unique to treat the ProcessName values as strings. Without this parameter, Get-Unique treats the ProcessName val
ues as objects and returns only one instance of the object, that is, the first process name in the list.