Solved

Powershell piping query

Posted on 2012-03-11
7
863 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
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 

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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

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 script can help you clean up your user profile database by comparing profiles to Active Directory users in a particular OU, and removing the profiles that don't match.
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 to another domain controller. Log onto the new domain controller with a user account t…
This tutorial will walk an individual through the process of configuring their Windows Server 2012 domain controller to synchronize its time with a trusted, external resource. Use Google, Bing, or other preferred search engine to locate trusted NTP …

776 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