2015-12-03 6 views
2

Я пытаюсь получить скрипт для проверки резервных копий для тех, кто связан с пользователями или компьютерами, которые не находятся в Active Directory.Ограничение количества подключений Active Directory при выполнении запросов

# Gets the list of folders on the backup Server 
$FolderList = Get-ChildItem $Server | select name 

foreach ($Folder in $FolderList){ 

    # On each folder, gets the computer name and the user shortname (the backup folder are built using %COMPUTERNAME%-%USERNAME%) 
    $Splited = $Folder.Name.Split("-") 
    $ComputerName = $Splited[0] 
    $ShortName = $Splited[1] 
    $LastWrittenDate = Get-Item "$($Server)\$($Folder.Name)" | Select-Object LastWriteTime 

    # Checks if the username exists in the Active Directory 
    try{ 
     Get-ADUser $ShortName | Out-Null 
    } catch { 
     # If it doesn't exists, write in the user output file 
     Add-Content "$($outputFile)_user.txt" "$($ShortName); $($LastWrittenDate.LastWriteTime)" 
    } 


    # Checks if the computer name exists in the Active Directory and the computer is not in the Active Directory 
    try { 
     Get-ADComputer $ComputerName | Out-Null 
    } catch { 
     # If it doesn't exists, write in the computer output file 
     Add-Content "$($outputFile)_computers.txt" "$($ComputerName); $($LastWrittenDate.LastWriteTime)" 
    } 
} 

Моя проблема заключается в том, что когда я делаю мой запрос, чтобы проверить, если пользователь/компьютер находится в AD, он открывает новое соединение с AD и не закрывает его (проблема была обнаружена при входе файлы взорвались).

Есть ли способ открыть только один сеанс для AD и вызвать весь мой запрос во время этого сеанса?

+0

«когда файлы журналов взорвались» - какие файлы журналов? –

+0

Те же файлы журнала из нашего программного обеспечения для мониторинга. Было много запросов на вход в систему и нет выхода из системы – VonDrakenstorm

+0

. Это не обязательно означает, что соединение является «новым». Базовое соединение может быть повторно использовано, даже если аутентификация powershell выполняется при каждом запросе ldap. –

ответ

0

Я внесла некоторые изменения в свой сценарий, и журналы мониторинга не показывают массовый запрос на вход в систему.

$FolderList = Get-ChildItem $Server | select name 
# I log onto the AD and execute my requests 
cd AD: 
foreach ($Folder in $FolderList){ 

Затем, как только я закончил работу на одном сервере, я вернусь на свой диск D и начну снова на следующем. Мне нужно войти и выйти между каждым подключением к серверу, потому что я не могу получить доступ к моим серверам после подключения к AD (я могу получить доступ к моему локальному диску и написать выходные файлы).

Теперь я делаю только один запрос на вход в AD для каждого сервера вместо одного для каждого файла.

Смежные вопросы