Как экспортировать все учетные записи пользователей AD в указанное подразделение

Вопрос: Я пытаюсь экспортировать всех пользователей AD в пределах OU в файл csv. Однако я не знаю, как заполнить первые две заданные переменные в сценарии образца, который я вытащил с веб-сайта. Учитывая, что моя строка соединения LDAP - это LDAP://OU=Admin Accounts, OU=Test Accounts,dc=sample,dc=domain,dc=com, как бы заполнить переменные для $path и $pathexist? Ниже приведен пример сценария:

Вопрос:

Я пытаюсь экспортировать всех пользователей AD в пределах OU в файл csv. Однако я не знаю, как заполнить первые две заданные переменные в сценарии образца, который я вытащил с веб-сайта.

Учитывая, что моя строка соединения LDAP – это LDAP://OU=Admin Accounts, OU=Test Accounts,dc=sample,dc=domain,dc=com, как бы заполнить переменные для $path и $pathexist?

Ниже приведен пример сценария:

PROCESS #This is where the script executes { $path = Split-Path -parent «$CSVReportPath*.*» $pathexist = Test-Path -Path $path If ($pathexist -eq $false) {New-Item -type directory -Path $path} $reportdate = Get-Date -Format ssddmmyyyy $csvreportfile = $path + «ALLADUsers_$reportdate.csv» #import the ActiveDirectory Module Import-Module ActiveDirectory #Perform AD search. The quotes «» used in $SearchLoc is essential #Without it, Export-ADUsers returuned error Get-ADUser -server $ADServer -searchbase «$SearchLoc» -Properties * -Filter * | Select-Object @{Label = «First Name»;Expression = {$_.GivenName}}, @{Label = «Last Name»;Expression = {$_.Surname}}, @{Label = «Display Name»;Expression = {$_.DisplayName}}, @{Label = «Logon Name»;Expression = {$_.sAMAccountName}}, @{Label = «Full address»;Expression = {$_.StreetAddress}}, @{Label = «City»;Expression = {$_.City}}, @{Label = «State»;Expression = {$_.st}}, @{Label = «Post Code»;Expression = {$_.PostalCode}}, @{Label = «Country/Region»;Expression = {if (($_.Country -eq ‘GB’) ) {‘United Kingdom’} Else {»}}}, @{Label = «Job Title»;Expression = {$_.Title}}, @{Label = «Company»;Expression = {$_.Company}}, @{Label = «Description»;Expression = {$_.Description}}, @{Label = «Department»;Expression = {$_.Department}}, @{Label = «Office»;Expression = {$_.OfficeName}}, @{Label = «Phone»;Expression = {$_.telephoneNumber}}, @{Label = «Email»;Expression = {$_.Mail}}, @{Label = «Manager»;Expression = {%{(Get-AdUser $_.Manager -server $ADServer -Properties DisplayName).DisplayName}}}, @{Label = «Account Status»;Expression = {if (($_.Enabled -eq ‘TRUE’) ) {‘Enabled’} Else {‘Disabled’}}}, # the ‘if statement# replaces $_.Enabled @{Label = «Last LogOn Date»;Expression = {$_.lastlogondate}} | #Export CSV report Export-Csv -Path $csvreportfile -NoTypeInformation } Лучший ответ:

Этот образец кажется немного экстремальным. Это должно работать:

$csvreportfile = «C:TempOutput.csv» $ADServer = «DC1.domain.com» Get-ADUser -server $ADServer -searchbase «OU=Admin Accounts, OU=Test Accounts,dc=sample,dc=domain,dc=com» -Properties * -Filter * | Select-Object @{Label = «First Name»;Expression = {$_.GivenName}}, @{Label = «Last Name»;Expression = {$_.Surname}}, @{Label = «Display Name»;Expression = {$_.DisplayName}}, @{Label = «Logon Name»;Expression = {$_.sAMAccountName}}, @{Label = «Full address»;Expression = {$_.StreetAddress}}, @{Label = «City»;Expression = {$_.City}}, @{Label = «State»;Expression = {$_.st}}, @{Label = «Post Code»;Expression = {$_.PostalCode}}, @{Label = «Country/Region»;Expression = {if (($_.Country -eq ‘GB’) ) {‘United Kingdom’} Else {»}}}, @{Label = «Job Title»;Expression = {$_.Title}}, @{Label = «Company»;Expression = {$_.Company}}, @{Label = «Description»;Expression = {$_.Description}}, @{Label = «Department»;Expression = {$_.Department}}, @{Label = «Office»;Expression = {$_.OfficeName}}, @{Label = «Phone»;Expression = {$_.telephoneNumber}}, @{Label = «Email»;Expression = {$_.Mail}}, @{Label = «Manager»;Expression = {%{(Get-AdUser $_.Manager -server $ADServer -Properties DisplayName).DisplayName}}}, @{Label = «Account Status»;Expression = {if (($_.Enabled -eq ‘TRUE’) ) {‘Enabled’} Else {‘Disabled’}}}, # the ‘if statement# replaces $_.Enabled @{Label = «Last LogOn Date»;Expression = {$_.lastlogondate}} | #Export CSV report Export-Csv -Path $csvreportfile -NoTypeInformation

Чтобы объяснить переменные $ Path и $ Pathexist, он просто проверяет, существует ли путь для экспорта CSV. Если он не существует, он создает его. Вам нужно объявить $ CSVReportPath как переменную, как в:

$CSVReportPath = «C:Temp»

Оцените статью
Добавить комментарий