Получить список пользователей из файла для цикла powershell - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь изменить этот сценарий PowerShell, чтобы разрешить ввод пользователей из текстового или CSV-файла.Я вытащил сценарий прямо из Тим Ример .

Это оригинальный сценарий:

Import-Module ActiveDirectory

function Get-ADUsersLastLogon() {
  $dcs = Get-ADDomainController -Filter {Name -like "*"}
  $users = Get-ADUser -Filter *
  $time = 0
  $exportFilePath = "c:lastLogon.csv"
  $columns = "name,username,datetime"

  Out-File -FilePath $exportFilePath -Force -InputObject $columns

  foreach ($user in $users) {
    foreach ($dc in $dcs) { 
      $hostname = $dc.HostName
      $currentUser = Get-ADUser $user.SamAccountName | Get-ADObject -Server $hostname -Properties lastLogon

      if ($currentUser.LastLogon -gt $time) {
        $time = $currentUser.LastLogon
      }
    }

    $dt = [DateTime]::FromFileTime($time)
    $row = $user.Name + "," + $user.SamAccountName + "," + $dt

    Out-File -FilePath $exportFilePath -Append -NoClobber -InputObject $row

    $time = 0
  }
}

Get-ADUsersLastLogon

Я думаю, мне следует изменить часть сценария, которая устанавливает переменную $user и то, как цикл foreach ($user in $users) обрабатывает каждыйпользователь, но не могу понять.

1 Ответ

0 голосов
/ 09 декабря 2018

Что касается этого ...

разрешить ввод пользователей из текстового или CSV-файла.

... это все, что это ...

$users = Get-ADUser -Filter *

… Вы просто замените это своим файлом

$users = Import-Csv -Path $UncToUserList.csv

Тем не менее, по вашему вопросу, поскольку это действительно распространенная базовая вещь PowerShell, я предполагаю, что вы новичок в этоми посоветовал бы действительно расширить PowerShell, используя все свободно доступные учебные ресурсы по TechNet МВА , MSChannel9 и YouTube , а также электронные книги , чтобы избежать путаницы и разочарований в ваших циклах обучения.

Кроме того, вы никогда не должны запускать какой-либо ненадежный код или код, который вы не полностью понимаете.Используйте только в тестовой среде, из которой вы можете полностью восстановиться, прежде чем рассматривать производственные запуски, чтобы избежать ошибок, которые могут привести к ошибке RPE - «Возобновление создания события».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...