Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Query Single User is Okay - Query from Array and I cannot get it to work - Examples

$
0
0

Hi All,

Trying to query the property of "ActiveSyncAllowedDeviceIDs" from the cmdlet "Get-CASMailbox."

I can get the short script to work with a single-user account, but cannot from a list of users in an array.  Something I'm missing, but I cannot figure it out and I'm hoping you can help me out.

This works:

$out=@()
$nyusers=Get-ADUser somedude
foreach($nyuser in $nyusers)
{
$user = Get-CASMailbox $($nyuser.sAMAccountName)
$myUsers = New-Object System.Object
$myUsers | Add-Member -memberType Noteproperty -name sAMAccountName -value $($nyuser.sAMAccountName)
$myUsers | Add-Member -memberType Noteproperty -name Device0 -value $user.ActiveSyncAllowedDeviceIDs.Item(0)
$myUsers | Add-Member -memberType Noteproperty -name Device1 -value $user.ActiveSyncAllowedDeviceIDs.Item(1)
$myUsers | Add-Member -memberType Noteproperty -name Device2 -value $user.ActiveSyncAllowedDeviceIDs.Item(2)
$myUsers | Add-Member -memberType Noteproperty -name Device3 -value $user.ActiveSyncAllowedDeviceIDs.Item(3)
$out += $myUsers
}
$out | Export-Csv c:\adminscripts\output\NY_Users_ActiveSyncAllowedDeviceIDs.csv -NoTypeInformation

However, this does not:

$out=@()
$nyusers=get-aduser -Filter {comment -eq "A"} -SearchBase "ou=users,ou=ny,ou=SomeOU,dc=whoop,dc=dang,dc=org" | select name
foreach($nyuser in $nyusers)
{
$user = {Get-CASMailbox $nyuser.name}
$myUsers = New-Object System.Object
$myUsers | Add-Member -memberType Noteproperty -name Name -value $nyuser.Name
$myUsers | Add-Member -memberType Noteproperty -name Device0 -value $user.ActiveSyncAllowedDeviceIDs.Item(0)
$myUsers | Add-Member -memberType Noteproperty -name Device1 -value $user.ActiveSyncAllowedDeviceIDs.Item(1)
$myUsers | Add-Member -memberType Noteproperty -name Device2 -value $user.ActiveSyncAllowedDeviceIDs.Item(2)
$myUsers | Add-Member -memberType Noteproperty -name Device3 -value $user.ActiveSyncAllowedDeviceIDs.Item(3)
$out += $myUsers
}
$out | Export-Csv c:\adminscripts\output\NY_Users_ActiveSyncAllowedDeviceIDs.csv -NoTypeInformation

Error:

You cannot call a method on a null-valued expression.
At line:7 char:106
+ $myUsers | Add-Member -memberType Noteproperty -name Device1 -value $user.ActiveSyncAllowedDeviceIDs.Item <<<< (1)
    + CategoryInfo          : InvalidOperation: (Item:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At line:8 char:106
+ $myUsers | Add-Member -memberType Noteproperty -name Device2 -value $user.ActiveSyncAllowedDeviceIDs.Item <<<< (2)
    + CategoryInfo          : InvalidOperation: (Item:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

I can query successfully using the following information:

$nyusers=get-aduser -Filter {comment -eq "A"} -SearchBase "ou=users,ou=ny,ou=SomeOU,dc=whoop,dc=dang,dc=org" | select name
foreach($nyuser in $nyusers){Get-CASMailbox $nyuser.name | select ActiveSyncAllowedDeviceIDs}

Thank you very much for your time,

Mr Mister


Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>