2012-04-23 3 views
0

У меня есть небольшой скрипт, который извлекает LastLogonTimestamp и SAMAccount для всех пользователей в конкретном OU в AD и преобразует временную метку в дату и извлекает только дату из строки. Эта часть отлично работает. Затем я хотел бы вывести это в CSV, чтобы он мог быть открыт в Excel и отлично сформирован в столбцы и выглядел красиво.Экспорт сценария powershell в CSV

Я пробовал ConvertTo-Csv и Export-Csv, но не был успешным. Проблема в том, что я новичок в Powershell. Это мой первый скрипт, и я не совсем понимаю, как это работает. Мой сценарий, вероятно, ужасно грязный и нелогичный, но до сих пор он работает.

Пожалуйста, помогите. Благодарю.

$userlist = Get-ADUser -SearchBase "OU=IT,DC=whatever,DC=com,DC=au" -Filter * -Properties * | Select-Object -Property Name,LastLogonTimestamp,SAMAccountName | Sort-Object -Property Name 

$userlist | ForEach-Object { 
    $last = $_.LastLogonTimestamp; 
    $ADName = $_.SAMAccountName; 

    $tstamp = w32tm /ntte $last; 
    if($tstamp.Length -lt "40"){}else 
    { 
     $ADDate = [DateTime]::Parse($tstamp.Split('-')[1]).ToString("dd/MM/yyyy") 
     write-host $ADDate; 
     write-host $ADName; 
    } 
} 

ответ

3

Вы должны создать объекты для каждого пользователя и трубы тех, к Export-CSV командлета:

$usersList | %{ 

# current logic 

$user = new-object psobject 
$user | add-member -membertype noteproperty -name LastLogon -value $last 
$user | add-member -membertype noteproperty -name ADName -value $ADName 
$user | add-member -membertype noteproperty -name ADDate -value $ADDate 
$user 
} | export-csv test.csv -notype 

Альтернативный синтаксис для заполнения объекта:

$properties = @{"LastLogon" = $last; "ADName" = $ADName; "ADDate" = $ADDate} 
$user = new-object psobject -property $properties 
+0

Я unvolontary downvoted ваш ответ ... возможно, потому, что я читал его с помощью смартфона и касался его. Можете ли вы отредактировать его, чтобы я мог повторно его увеличить? –

+0

@Christian - Ах, я сделал это :) Во всяком случае, добавил альтернативный синтаксис для создания объектов. – manojlds

+0

Хорошо, я чувствую себя лучше сейчас :-) –