Страница 1 из 2
При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 7:11 am
Scrat2005
Добрый день! У меня вот такой скрипт. Тоже добавляет в группу, но при этом нужно изменить юзеру суффикс. Так как Офис365 находится в облаке. Он у меня вроде работал первоначально. Потом перестал менять суффикс.
То что я выложил, оно уже сломано немножко и оно естественно уже не работает.
Посмотрите где я ошибаюсь. Сам думаю что в цикле...и с переменными что то я напутал кажись...
Код: Выделить всё
# скрипт добавляет пользователей в группу "Office365" из файла "xxxxx.txt"
# и меняет суффикс домена в attributе Logon или UserPrincipalName всем пользователям из списка.
Import-Module ActiveDirectory
cls
get-content -Path "D:\Documents\Office365\Add_office365.txt" | ForEach-Object {$UserName = $_
$User = Get-ADUser $UserName
if ($User)
{
Add-adgroupmember "Office365PP" -Members $UserName
} else {
write-host " $UserName - Учетная запись не найдена..."
}
$User = ''
}
foreach ($user in $users){
$userset = Get-ADUser $UserName
# Get-ADUser -filter {(sAMAccountName -eq $sn) -and (Enabled -eq $true)} -Properties UserPrincipalName
if ($userset -ne $Null)
{
$new = $userset.UserPrincipalName -replace "kst.contoso.local","contoso.com"
Set-ADUser $userset -UserPrincipalName $new
}
else
{
# write-host "$sn - Учетная запись не найдена..."
}
$User = ''
}
Write-Host 'Done!' -ForegroundColor Red
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 7:13 am
Scrat2005
.тхт -файл - обычный построчный список SamaccountName
user1
user2
user3
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 11:04 am
sanglyb
Такой вариант должен быть рабочим:
Код: Выделить всё
# скрипт добавляет пользователей в группу "Office365" из файла "xxxxx.txt"
# и меняет суффикс домена в attributе Logon или UserPrincipalName всем пользователям из списка.
Import-Module ActiveDirectory
cls
$users=get-content -Path ".\users.txt"
foreach ($Username in $users){
$User = Get-ADUser $UserName
if ($User){
Add-adgroupmember "group1" -Members $UserName
$new = $User.UserPrincipalName -replace "test.loc","test.com"
Set-ADUser $User -UserPrincipalName $new
} else {
write-host " $UserName - Учетная запись не найдена..."
}
$User = ''
}
Write-Host 'Done!' -ForegroundColor Red
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 12:32 pm
Scrat2005
Спасибо большое. Попробую. Но такой вариант я вроде пробовал. Сейчас проверю...
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 12:56 pm
Scrat2005
Еще раз огромное спасибо за помощь, за терпение. Скрипт Работает!!! Был оказывается у меня такой вариант, только я не туда воткнул
$new = $User.UserPrincipalName -replace "test.loc","test.com"
Set-ADUser $User -UserPrincipalName $new
)))Спасибо.
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 1:08 pm
Scrat2005
Есть еще один скрипт рабочий, все хорошо. Есть один нюанс.
Суть скрипта такой:
Через политику ГПО в Description компа пишеться строка типа: "USER{tche_27}: Last LogOut 08.11.2019 15:37:22"
Написал скрипт, который берет из этого Description имя хоста и записывает в LogonWorkstations.
скрипт отрабатывает для каждого OU отдельно. Другого варианта не придумал...
Хочется все OU-шки собрать в одну переменную...
Могу создать отдельную тему и выложить этот скрипт...Он большой и страшный )))
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 1:51 pm
Scrat2005
я дико извиняюсь, совсем забыл, что еще и "привязку" надо добавить вместе с суффиксом.
с обязательной проверкой, что "привязка не пустая... это я пытаюсь сам)))
Код: Выделить всё
$LogonWorkst = (Get-ADUser $UserName.SamAccountName -Properties LogonWorkstations | select LogonWorkstations).LogonWorkstations
if( ( $LogonWorkst -ne "" ) -and ( $LogonWorkst -ne $null))
$NewLogonWorkst = $LogonWorkst + ",adfs"
Set-ADUser $UserName.SamAccountName -LogonWorkstations $NewLogonWorkst
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 4:43 pm
sanglyb
Мне кажется проверки $logonworks -ne $null - должно хватать. Проверку с "" - можно убрать.
После условия if нужны фигурные скобки.
А лучше добавлять также, как это делается в скрипте из соседней темы, иначе неизбежно будут дубликаты в компьютерах.
Код: Выделить всё
$comps="adfs"
$user=get-aduser "$UserName" -properties *
if ($user.LogonWorkstations -ne $null){
$compsArray=$comps.split(",")
$userCompsArray=$user.LogonWorkstations.split(",")
$compsArray=(($compsArray+$usercompsarray) | sort-object | get-unique) -join ','
$user.LogonWorkstations = @($adUseruser.LogonWorkstations, $compsArray) -join ','
Set-ADUser -instance $user
}
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 5:42 pm
Scrat2005
Спасибо, понял. А если сюда добавить
if ($user.LogonWorkstations -ne $null) and ($user.LogonWorkstations -notlike $comps), дублирование все равно будет?
Re: При добавлении в группу, изменить UPN(суффикс)
Добавлено: Вт окт 13, 2020 6:00 pm
Scrat2005
чето я затупил. Можно же и тот скрипт в соседней теме использовать....е-мое