newhk
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Привет! Подскажите пожалуйста, почему не пишется лог? Где я не прав? Код: [array]$var = Get-ADUser -SearchBase "OU=Accounts,DC=TEST,DC=LOC" -Properties * -Filter * $comps = '' $date = (Get-Date).ToString('ddMMyyyy_HH') $file = 'C:\_BAT\PS1\New_projects\Address_book\phrase' # пароль $logfile = 'C:\_BAT\PS1\New_projects\Address_book\log\log_' + $date + '.txt' # файл логов $User = 'ldap_user' $password = ConvertTo-SecureString (Get-Content $file) -AsPlainText -Force $logfile2 = 'C:\_BAT\PS1\New_projects\Address_book\log\unavaliable_' + $date + '.txt' $subnets = @{ 3='Ф.Екатеринбург'; 32='Ф.Калининград'; 25='Ф.Уфа'; 26='Ф.Самара'; } function data_request($val1, $val2, $val3){ # $val1 - адрес сервера; $val2 - OU-контейнера; $val3 - домен пользователя $userName = $user + '@' + $val3 $domain = $val3.Split('.') $cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, $Password $usr = Get-ADUser -Server $val1 -Credential $cred -Properties * -Filter * foreach ($u in $usr){ try{ if ($u.EmailAddress -eq $null -or $u.OfficePhone -eq $null -or $u.enabled -eq $false){ continue } else { $data = ($u.SamAccountName, $u.DisplayName, $u.Surname, $u.GivenName, $u.Office, $u.OfficePhone, $u.EmailAddress, "__________") Add-Content $("C:\_BAT\PS1\New_projects\Address_book\SM\" + $domain[0] + '.txt') $data } } catch { Add-Content $logfile $dom Add-Content $logfile $u.Name Add-Content $logfile $u.SamAccountName Add-Content $logfile '+++' Add-Content $logfile $("ERROR: " + $error[0]) Add-Content $logfile "__________" } try { if ($var | ? {$_.SamAccountName -notmatch $u.SamAccountName}){ New-ADUser -Name $($subnets.[int]$subnet[2] + " - " + $u.DisplayName) -Enabled $true -SamAccountName $($u.SamAccountName + $subnet[2]) -Surname $u.Surname -GivenName $u.GivenName -DisplayName $($subnets.[int]$subnet[2] + " - " + $u.DisplayName) -AccountPassword $password2 -Path $(`"$container`") -ChangePasswordAtLogon $true -Office $u.Office -OfficePhone $u.OfficePhone -EmailAddress $u.EmailAddress -Department $u.department -Company $u.Company -UserPrincipalName $($u.SamAccountName + $subnet[2] + '@test.loc') -Title $u.title } } catch { Write-Host $logfile2 $("Name - " + $subnets.[int]$subnet[2] + " - " + $u.DisplayName) Write-Host $logfile2 $("SamAccountName - " + $u.SamAccountName + $subnet[2]) Write-Host $logfile2 "+++" Write-Host $logfile2 ("ERROR: " + $error[0]) } } } $comps = @{ 0=@('192.168.32.1','CN=Users,DC=klg,DC=local'); 1=@('192.168.25.1','CN=Users,DC=ufa,DC=local'); 2=@('192.168.26.1','CN=Users,DC=samara,DC=local'); 3=@('192.168.3.1','CN=Users,DC=ekb,DC=local'); } for ($i=0; $i -lt $comps.Count; $i++){ $pc = $comps[$i][0] $OU = $comps[$i][1] $dm = $OU -Split',' | ConvertFrom-StringData $dom = $dm.DC -join '.' Write-Host $pc Write-Host $OU data_request -val1 $pc -val2 $OU -val3 $dom } | Добавлено: Данные я получаю и они пишутся в одноименные файлы доменов. В процессе работы скрипта происходит несколько ошибок, сервер недоступен и сбой аутентификации, но данные ошибки не записываются в файл лога. Все пути правильные. | Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 16:35 04-02-2022 | Исправлено: newhk, 13:48 07-02-2022 |
|