Вопрос : VBScript: Вытягивать lastLogonTimestamp

Здравствулте! специалисты!

я имею функциональность я в пределах DSQUERY и PowerShell, тем ме менее я думаю что потребности быть сделанным в моем особом случае будет сломать курс DN вниз в блоки так, что каждый уровень OU будет четок.  Например, присытствыющие результаты хранят что я имею для этого содержу грубо вокруг рядков 75k и курс DN может среднее anwhere от 3 до 6 OU глубоких.  Так что кончает вверх случаться что некоторые из других данных по колонки находят в колонке OU или даже другой колонке, поэтому когда я иду сортировать он бросает целую вещь.  правильн пробиванием изоляции OU в блоке или некотором виде funtion разделения что он выровняет каждый OU вверх в колонках правильно.  Основно данные не columned правильно в течении некоторого из spreadsheet.

поэтому с этим сценарием я хотел бы вытянуть sAMAccountName, DisplayName, UPN и LogonTimestamp для каждого активно потребителя в моей окружающей среде ОБЪЯВЛЕНИЯ.  

архивы результата настоящего момента, котор я получаю задним находятся в форме .CSV вклюает запятой в курс DN, поэтому ем трудно для того чтобы отделить их для того чтобы различить OU.  Так я после этого преобразовал CSV к TSV и после этого установил специального оператора как «,» в ввозе и этом отделил колонки OU вне, но по мере того как я сказал из-за как глубоко OU идут, оно причиняя некоторые из других данных т.е. UPN, sAMAccountName, LogonTimestamps для того чтобы снести сверх в другие колонки.    Любая помощь с этим больш оценена.  
class=

Ответ : VBScript: Вытягивать lastLogonTimestamp


Фактическ пользе списка BU нужно малое изменение предотвратить его horribly ненадежна.

Это будет изменение:

ForEach ($Name в $BU) {если ($_.DN - сопрягайте «OU=$Name, то, ") {$Name}}

С оригиналом оно сопрягал бы вас к ЕМУ если ваше имя включило то, то с этим, котор оно только будет сопрягать если вполне именем OU будет ОНО, то (следовательно приставка OU= и, суффикс).

Крис
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
# требует поисков CmdLets: http://www.quest.com/powershell/activeroles-server.aspx

# список организационной единицы
$BU = «финансы», «сбывания», «выходящ на рынок», «ОНО», «развитие»

# интервал между датами. Произведет эти в окончательной колонке: от 0 до 30; от 30 до 60, etc.
$DateRange = 30

# поиски CmdLets пользы для того чтобы получить потребителей
Получите-QADUser - позволено - lastLogonTimeStamp IncludedProperties - SizeLimit 0 | % {
  # владение на это для удобства
  $LastLogon = $_.LastLogonTimeStamp

  # переустановите значения IntervalString и множителя
  # начинает путем искать даты более менее чем 30 дней старых, инкрементировано 30 на каждом пропуске петли
  $IntervalString = ""; $Multiplier = 1

  Если ($LastLogon - ne $Null) {, то
    Сделайте {
      # см. если дата logon после определенной даты
      Если ($LastLogon, то - gt (Получать-Дата) .AddDays (- ($DateRange * $Multiplier))) {

        # показатель это значение как «0 к 30», или «от 30 до 60», etc
        $IntervalString = «$ ($DateRange * ($Multiplier - 1)) к $ ($DateRange * $Multiplier)»
      }

      # инкремент множитель
      $Multiplier++

    # до тех пор пока оно не иметь значение
    } Пока ($IntervalString - "" eq)
  } Еще {
    $IntervalString = «N/A»
  }

  # произведите выход
  $ _ | Выбирать-Предмет DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
    @ {e= n='BusinessUnit'; {ForEach ($Name в $BU) {если ($_.DN - сопрягайте «OU=$Name, ") {$Name}}, то}},
    @ {e= n='Range'; {$IntervalString}}
# экспорт оно все к CSV using плата как разграничитель
} | Ехпортируйте-CSV `t разграничителя «SomeFile.csv» - NoTypeInformation -
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us