Войти

Показать полную графическую версию : [решено] выташить емайл аддресс из Оутлука и записать в текст файл


rufat_4
28-08-2014, 09:47
Доброе время суток!
помогите плз,
нужен скрипт который вытащит существующие емайл адреса из оутлука и запишет в текст файл.
будет CSV который будет лежать на файл сервере и рассшарен , и записование в этот файл нужен в следующем формате:

samaccountname,emailadress1,emailsaddress2
john,donj@example.com,null
johnsmith,jsmit@example.com,johnn@mail.com

и так далее, возможно ли такое? замечу что , на всех клиентский машинах оутлук настроен по POP/SMTP , нужен именно емайл адресса (под котором пользователь аутентифицируются) - а не имя профайла или имя сервера ит.п.

спасибо всем заранее ..

rufat_4
29-08-2014, 17:06
сделал следующий скрипт, вдруг кому то понадобиться.


$user = Import-Csv \\dc01.domain.lan\migratereport$\emailaddress.txt | where `
{$_.samaccountname -eq "$env:username"}
if ($user) {break}
else {
$mail = New-Object -ComObject Outlook.Application
$accounts = $mail.session.accounts | %{Write-Output $_.smtpaddress}
if (($accounts | measure).count -eq '1') {
$env:username+','+$accounts | Add-Content -Path `
\\dc01.domain.lan\migratereport$\emailaddress.txt }
elseif (($accounts | measure).count -eq '2') {
$env:username+','+$accounts[0]+','+$accounts[1] | Add-Content -Path `
\\domain.lan\migratereport$\emailaddress.txt}
else {
$env:username+','+'null' | Add-Content -Path `
\\dc01.domain.lan\migratereport$\emailaddress.txt}
(Get-Process outlook*).kill()
}




© OSzone.net 2001-2012