header1   header
header
header Register : : Login header
header
connector   connector
menuleft menuright
submenu   submenu
left
export proxyaddresses for a list of groups
Last Post 24 Dec 2009 04:35 AM by Shay Levy. 12 Replies.
Printer Friendly
  •  
  •  
  •  
  •  
  •  
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
ebrown35User is Offline
New Member
New Member
Posts:30
Avatar

--
30 Jul 2009 01:59 PM

    Import-Csv C:\scripts\groups_backup.csv | Get-QADGroup -Identity {$_.GroupName} | Select-Object SamAccountname,proxyaddresses | Export-Csv "C:\scripts\groups\cox_backup.csv"

     

     

     

    But it returns this: System.Object[] for the proxyaddresses values.  I know this is because proxyadddresses is multivalued, how can I use a foreach to list the group name with all of its proxyaddresses and export it?

    Shay LevyUser is Offline
    PowerShell MVP, Admin
    Veteran Member
    Veteran Member
    Posts:1362
    Avatar

    --
    30 Jul 2009 11:04 PM
    Try this (not tested but should work), it will join the list of addresses into one string, each address will be seperated with a semicolon:

    Import-Csv C:\scripts\groups_backup.csv | Get-QADGroup -Identity {$_.GroupName} | Select-Object SamAccountname,@{n="proxyaddresses";e={[string]::join(";",$_.proxyaddresses)}} | Export-Csv "C:\scripts\groups\cox_backup.csv"

    Shay Levy
    Windows PowerShell MVP
    http://PowerShay.com
    PowerShell Community Toolbar
    Twitter: @ShayLevy
    ebrown35User is Offline
    New Member
    New Member
    Posts:30
    Avatar

    --
    31 Jul 2009 07:17 AM
    This worked great, is there another way that you could list each proxyaddress on its on line with the the group repeated for each address like this:



    group1,proxy1

    group1,proxy2

    group1,proxy3

    group1,proxy4

    group2,proxy1

    group2,proxy2

    group2,proxy3

    group2,proxy4


    could'nt you use a foreach and pipe the result through multiple times (whoa gettin over my own head, lol)
    Shay LevyUser is Offline
    PowerShell MVP, Admin
    Veteran Member
    Veteran Member
    Posts:1362
    Avatar

    --
    31 Jul 2009 07:26 AM
    Yeap

    Import-Csv C:\scripts\groups_backup.csv | Get-QADGroup -Identity {$_.GroupName} | Foreach-Object{
    $g = $_.name
    $_.proxyaddresses | select @{n="Group";e={$g}},@{n="ProxyAddress";e={$_}}
    }

    Shay Levy
    Windows PowerShell MVP
    http://PowerShay.com
    PowerShell Community Toolbar
    Twitter: @ShayLevy
    ebrown35User is Offline
    New Member
    New Member
    Posts:30
    Avatar

    --
    01 Dec 2009 12:36 PM
    Is there a way to adapt this to users? I have tried to no avail.
    ebrown35User is Offline
    New Member
    New Member
    Posts:30
    Avatar

    --
    01 Dec 2009 12:48 PM
    Import-Csv C:\scripts\users_backup.csv | Get-QADUser -Identity {$_.SamAccountName} | Foreach-Object{
    $g = $_.name
    $_.proxyaddresses | select @{n="User";e={$g}},@{n="ProxyAddress";e={$_}}
    }

    why doesn't the above work, it seems that it should but it returns no result?
    Shay LevyUser is Offline
    PowerShell MVP, Admin
    Veteran Member
    Veteran Member
    Posts:1362
    Avatar

    --
    01 Dec 2009 11:51 PM
    Like this?

    Import-Csv C:\scripts\users_backup.csv | Get-QADUser -Identity {$_.SamAccountName} -IncludedProperties proxyaddresses | select name,proxyaddresses

    Shay Levy
    Windows PowerShell MVP
    http://PowerShay.com
    PowerShell Community Toolbar
    Twitter: @ShayLevy
    ebrown35User is Offline
    New Member
    New Member
    Posts:30
    Avatar

    --
    02 Dec 2009 05:25 AM
    Well I wanted to have the ouput in similar format as in the post above:

    user1,proxy1

    user1,proxy2

    user1,proxy3

    user1,proxy4

    user2,proxy1

    user2,proxy2

    user2,proxy3

    user2,proxy4

    Shay LevyUser is Offline
    PowerShell MVP, Admin
    Veteran Member
    Veteran Member
    Posts:1362
    Avatar

    --
    02 Dec 2009 05:35 AM
    Import-Csv C:\scripts\users_backup.csv | Get-QADUser -Identity {$_.SamAccountName} -ip proxyAddresses | foreach {
    $userName = $_.Name
    $_.proxyAddresses | where {$_ -like 'smtp:*'} | select @{n="DisplayName";e={$userName}},@{n="Email";e={$_.substring(5)}}
    }

    Shay Levy
    Windows PowerShell MVP
    http://PowerShay.com
    PowerShell Community Toolbar
    Twitter: @ShayLevy
    Shay LevyUser is Offline
    PowerShell MVP, Admin
    Veteran Member
    Veteran Member
    Posts:1362
    Avatar

    --
    02 Dec 2009 05:36 AM
    By the way, what Exchange version? The above is for 2003.

    Shay Levy
    Windows PowerShell MVP
    http://PowerShay.com
    PowerShell Community Toolbar
    Twitter: @ShayLevy
    ebrown35User is Offline
    New Member
    New Member
    Posts:30
    Avatar

    --
    02 Dec 2009 05:39 AM
    Posted By Shay on 02 Dec 2009 05:36 AM
    By the way, what Exchange version? The above is for 2003.

    Yes, 2003.

    cameronoveUser is Offline
    Basic Member
    Basic Member
    Posts:332
    Avatar

    --
    24 Dec 2009 04:23 AM
    Posted By Shay on 02 Dec 2009 05:35 AM
    Import-Csv C:\scripts\users_backup.csv | Get-QADUser -Identity {$_.SamAccountName} -ip proxyAddresses | foreach {
    $userName = $_.Name
    $_.proxyAddresses | where {$_ -like 'smtp:*'} | select @{n="DisplayName";e={$userName}},@{n="Email";e={$_.substring(5)}}
    }

    Hi Shay,

    All through the examples on this post in the select portion in the hash table you use the variables n and e.  Are those arbitrary names or are they names that are required for the select to work with hash tables?
    Shay LevyUser is Offline
    PowerShell MVP, Admin
    Veteran Member
    Veteran Member
    Posts:1362
    Avatar

    --
    24 Dec 2009 04:35 AM
    Name and Expression hash keys are required and can be shortened to 'n' and 'e'.

    Shay Levy
    Windows PowerShell MVP
    http://PowerShay.com
    PowerShell Community Toolbar
    Twitter: @ShayLevy
    You are not authorized to post a reply.


    Active Forums 4.3
    right
    footer   footer
    footer Sponsored by Quest Software • SAPIEN Technologies • Compellent • Microsoft Windows Server 2008 R2 footer
    footer   footer