Я пытаюсь извлечь информацию о подразделении из внешнего вида вместо того, чтобы открывать AD и переименовывать подразделение, чтобы скопировать его для вставки в переменную get-host.
Когда я использую код ниже, он передает @ {значение для отправки}. Даже когда я указываю var как $ ouname.name, он все равно помещает только @ {значение} вместо значения. Как мне просто отправить значение переменной? Является ли это результатом использования внешнего вида вместо просто вставки нужного значения в get-host = $ ouname?
# Use a GUI to provide an OU list to select from.
$OUName = Get-ADOrganizationalUnit -SearchBase "OU=Hosted Exchange Customers,DC=Domainname,DC=local" -Filter '*' |
Select Name|
Sort Name |
Out-GridView -PassThru -Title 'Select the OU name to search'
#Get ActiveSync and Mailbox data
$EASDevices = ""
$AllEASDevices = @()
$EASDevices = ""| select 'User','PrimarySMTPAddress','DeviceType','DeviceModel','DeviceOS', 'LastSyncAttemptTime','LastSuccessSync'
$EasMailboxes = Get-Mailbox -OrganizationalUnit "OU=$OUname,OU=Hosted Exchange Customers,DC=Domainname,DC=local" -ResultSize unlimited
foreach ($EASUser in $EasMailboxes) {
$EASDevices.user = $EASUser.displayname
$EASDevices.PrimarySMTPAddress = $EASUser.PrimarySMTPAddress.tostring()
foreach ($EASUserDevices in Get-ActiveSyncDevice -Mailbox $EasUser.alias) {
$EASDeviceStatistics = $EASUserDevices | Get-ActiveSyncDeviceStatistics
$EASDevices.devicetype = $EASUserDevices.devicetype
$EASDevices.devicemodel = $EASUserDevices.devicemodel
$EASDevices.deviceos = $EASUserDevices.deviceos
$EASDevices.lastsyncattempttime = $EASDeviceStatistics.lastsyncattempttime
$EASDevices.lastsuccesssync = $EASDeviceStatistics.lastsuccesssync
$AllEASDevices += $EASDevices | select user,primarysmtpaddress,devicetype,devicemodel,deviceos,lastsyncattempttime,lastsuccesssync
}
}
$AllEASDevices = $AllEASDevices | sort user
$AllEASDevices
$AllEASDevices | Export-Csv $fname