Solved

Powershell piping query

Posted on 2012-03-11
7
862 Views
Last Modified: 2012-08-13
Hi

We are using Quest Powershell. An object has SIDvalue 1234. The name is User1.

So if I run:

get-QADUser -identity User1 | fl

One of the returned values is:

objectGUID: 1234

Now, what I need to do is find a Powershell command that will return the "DisplayName" attribute if I know the objectGUID.

Does anyone know how I can do this?

And, if I have a list of objectGUID's in a file named GUID.csv, how can I do the above?

Any help really appreciated!
0
Comment
Question by:neil4933
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 17

Expert Comment

by:Learnctx
ID: 37708049
Someone has put together a function for exactly this. See here. Customise that to your needs.
0
 
LVL 12

Expert Comment

by:Navdeep
ID: 37708269
Hi ,

Try the following commands

get-qaduser -includeProperty ObjectGUID | where{$_.ObjectGuid -eq '1234'} | FL DisplayName, ObjectGuid

or user IncludeAllProperties instead of IncludeProperty

For a list of Guid in a csv file you can use for loop, for example guid is specified under column GUID in CSV file

Import the csv file into a var
$ColItems = import-csv D:\FileName.csv
foreach($colItem in $colItems)
        {
           $objGuid = $colItem.GUID
           get-qaduser -includeProperty ObjectGuid | where{$_.ObjectGuid -eq "$objGuid"} | FL  DisplayName, ObjectGuid

        }

Note: First test on few users.

Regards,
Navdeep [v-2nas]
0
 
LVL 70

Expert Comment

by:Chris Dent
ID: 37712396
Since the objectGUID is a unique reference you should simply be able to do:

Get-QADUser <objectGUID> | Select-Object DisplayName

Chris
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 

Author Comment

by:neil4933
ID: 37712619
Hi v-nas, that doesn't work.

Chris, thanks but Quest doesn't seem to work with objectGUID in that way, even though it is unique.

So, to confirm:

get-QADUser -identity User1 | fl objectGUID

objectGUID: 1234

There must be a straightforward Powershell to run that says "Get-QADUser where objectGUID is 1234"?

Thanks in advance?
0
 
LVL 17

Expert Comment

by:Learnctx
ID: 37712865
Quest converts the object guid to hex format which is why it isn't working. If you do the following it will work.

$guid = (get-qaduser username).objectguid
Get-qaduser $guid

That should work.
0
 
LVL 70

Accepted Solution

by:
Chris Dent earned 500 total points
ID: 37713590
Quest stores it in two different values. The first is the real one, objectGUID, the second is "Guid" and is the better format.

Using that you can do this:

Get-QADUser (Get-QADuser "Chris Dent").GUID

What's in your file exactly? GUID's in this format?

12312312-1231-1231-1231-123123123123

If so, you can simply use Get-QADUser to get the lot. If not, you'd be better converting the entry to a real System.GUID object before trying to pass it in.

Chris
0
 
LVL 12

Expert Comment

by:Navdeep
ID: 37718533
Given that you use the Guid in valid system input, the code will work.

Regards,
Navdeep [v-2nas]
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Restoring deleted objects in Active Directory has been a standard feature in Active Directory for many years, yet some admins may not know what is available.
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now