Тем кому необходимо перенести локальные группы с одного сервера на другой, например, чтобы не делать их заново для раздачи прав на каталоги, данный пост будет актуальнен.
Есть 2 способа:
1. Сделать полный експорт и импорт всех учеток и локальных групп с помощью -
Windows Server Migration Tools
2. Если необходимы только группы, с доменными группами, как было неоходимо мне, то необходим скрипт на PowerShell, который я нашел тут.
Export:
Import:
Есть 2 способа:
1. Сделать полный експорт и импорт всех учеток и локальных групп с помощью -
Windows Server Migration Tools
2. Если необходимы только группы, с доменными группами, как было неоходимо мне, то необходим скрипт на PowerShell, который я нашел тут.
Export:
$gr = Get-WMIObject Win32_Group -Filter "LocalAccount=true AND SID like 'S-1-5-21-%'" | Foreach {$_.Name} $gr | Foreach { $group = $_ $g = [ADSI]"WinNT://$env:ComputerName/$group,group" $members = $g.Members() if($members) { $members | Foreach { $p = $_.GetType().InvokeMember('Parent','GetProperty',$null,$_,$null) if($p -notmatch $env:ComputerName) { $bytes = $_.GetType().InvokeMember('objectSid','GetProperty',$null,$_,$null) $sid = New-Object Security.Principal.SecurityIdentifier ($bytes, 0) if($sid.Value -match "S-1-5-21") { New-Object PSObject -Property @{ Group = $group Name = $sid.Translate([Security.Principal.NTAccount]).Value } } } } } } | Export-Csv -NoTypeInformation gr.csv -Encoding Unicode
Import:
Import-Module Microsoft.PowerShell.LocalAccounts Import-Csv gr.csv | Foreach { $group = Get-LocalGroup $_.Group -ErrorAction SilentlyContinue if (!$group) { $group = New-LocalGroup $_.Group } Add-LocalGroupMember -Group $group -Member $_.Name }
No comments:
Post a Comment