Grupos: mudanças entre as edições
Criou página com '= Estrutura de OUs - Active Directory GRUPOLLAL = == Objetivo == Padronizar a arquitetura de Unidades Organizacionais (OUs) do domínio '''grupollal.cloud''', facilitando a administração, aplicação de políticas (GPOs) e organização de usuários, computadores, lojas e ERs. == Estrutura de Alto Nível == <syntaxhighlight lang="text"> DC=grupollal,DC=cloud └── OU=GRUPOLLAL ├── OU=Escritorio ├── OU=Lojas ├── OU=ERs ├── O...' |
Sem resumo de edição |
||
| Linha 1: | Linha 1: | ||
= | = Script:AD-CriarEstruturaOUs = | ||
Este script PowerShell é responsável por criar toda a estrutura de Unidades Organizacionais (OUs) no Active Directory para o domínio '''grupollal.cloud''', seguindo o padrão definido na arquitetura. | |||
== | == Pré-requisitos == | ||
<syntaxhighlight lang=" | * Executar como Administrador | ||
DC=grupollal,DC=cloud | * PowerShell com módulo `ActiveDirectory` disponível | ||
* Permissões de Domain Admin | |||
* Executar em um DC (Domain Controller) | |||
== Código == | |||
<syntaxhighlight lang="powershell"> | |||
Import-Module ActiveDirectory | |||
# Função reutilizável para criar uma OU, se ela ainda não existir | |||
function Criar-OU { | |||
param ( | |||
[string]$OUName, | |||
[string]$ParentDN | |||
) | |||
$FullPath = "OU=$OUName,$ParentDN" | |||
if (-not (Get-ADOrganizationalUnit -LDAPFilter "(distinguishedName=$FullPath)" -ErrorAction SilentlyContinue)) { | |||
New-ADOrganizationalUnit -Name $OUName -Path $ParentDN -ProtectedFromAccidentalDeletion $true | |||
} | |||
} | |||
# Base do domínio | |||
$dominioBase = "DC=grupollal,DC=cloud" | |||
$ouRoot = "OU=GRUPOLLAL,$dominioBase" | |||
# Cria a OU raiz | |||
Criar-OU -OUName "GRUPOLLAL" -ParentDN $dominioBase | |||
# OUs principais | |||
$principais = @("Escritorio", "Lojas", "ERs", "Grupos", "Servidores", "Scripts") | |||
foreach ($ou in $principais) { | |||
Criar-OU -OUName $ou -ParentDN $ouRoot | |||
} | |||
# Subestrutura do Escritório | |||
$ouEscritorio = "OU=Escritorio,$ouRoot" | |||
Criar-OU -OUName "Usuarios" -ParentDN $ouEscritorio | |||
Criar-OU -OUName "Computadores" -ParentDN $ouEscritorio | |||
== | # Setores do Escritório | ||
$setores = @("Comercial", "Logistica", "Dados", "Financeiro", "Marketing", "RH-DP", "Diretoria", "Tecnologia", "Multiplicador") | |||
foreach ($setor in $setores) { | |||
Criar-OU -OUName $setor -ParentDN "OU=Usuarios,$ouEscritorio" | |||
Criar-OU -OUName $setor -ParentDN "OU=Computadores,$ouEscritorio" | |||
} | |||
= | # Lojas | ||
$ouLojas = "OU=Lojas,$ouRoot" | |||
$lojas = @( | |||
"IRIS HJ - 22170 (22170)", "CSE (2090)", "CNM (5551)", "QNE (5553)", "QNM (5573)", "SAMAMBAIA (5624)", "309 Sul (10791)", | |||
"PARK SHOP (19167)", "TERRAÇO (19168)", "PÃO DE AÇUCAR (19169)", "CARREFOUR SUL (19170)", "411 SUL (19171)", "CENTRO CLINICO (19172)", | |||
"204 SUL (19173)", "JK SHOP (19771)", "FELICITTA QUE! (19772)", "GUARÁ (19773)", "ATACADÃO (19774)", "RECANTO DAS EMAS (19775)", | |||
"AGUAS CLARAS SHOP (19776)", "VICENTE PIRES (19777)", "DF PLAZA (19778)", "TAGUATINGA SHOP (19779)", "ALAMEDA (5552)", | |||
"309 SUL (19791)", "DECK NORTE (22638)", "PARANOÁ (22639)", "ATACADÃO QNL (22287)", "QDB TAG SHOP (910148)", "QDB GILBERTO (910293)" | |||
) | |||
foreach ($loja in $lojas) { | |||
Criar-OU -OUName $loja -ParentDN $ouLojas | |||
Criar-OU -OUName "Usuarios" -ParentDN "OU=$loja,$ouLojas" | |||
Criar-OU -OUName "Computadores" -ParentDN "OU=$loja,$ouLojas" | |||
} | |||
= | # ERs | ||
$ouERs = "OU=ERs,$ouRoot" | |||
$ers = @( | |||
"VD CANDANGA - VD CANDANGOLANDIA - 21157 (21157)", | |||
"VD CEILANDIA - 13587 (13587)", | |||
"VD PARANOA - 22640 (22640)", | |||
"VD TAGUATINGA - 14540 (14540)", | |||
"VD SÃO SEBASTIÃO - NEW - VD SÃO SEBASTIÃO - 23137 (23137)" | |||
) | |||
$setoresER = @("Financeiro", "Estoque", "Gerencia", "Caixa", "Consultoras") | |||
foreach ($er in $ers) { | |||
Criar-OU -OUName $er -ParentDN $ouERs | |||
foreach ($sub in $setoresER) { | |||
Criar-OU -OUName $sub -ParentDN "OU=$er,$ouERs" | |||
} | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Observações == | ||
* Todas as OUs são protegidas contra exclusão acidental | |||
* O script pode ser executado mais de uma vez sem duplicar OUs | |||
* Adaptável para novos setores, lojas e ERs no futuro | |||
== | == Autor == | ||
* | * Iran Ribeiro 😎 – Infra DevOps, responsável pela padronização e automação da TI no domínio grupollal.cloud | ||
== | == Histórico == | ||
* | * 2025-07 – Primeira versão automatizada da arquitetura de OUs | ||
Edição das 11h32min de 30 de julho de 2025
Script:AD-CriarEstruturaOUs
Este script PowerShell é responsável por criar toda a estrutura de Unidades Organizacionais (OUs) no Active Directory para o domínio grupollal.cloud, seguindo o padrão definido na arquitetura.
Pré-requisitos
- Executar como Administrador
- PowerShell com módulo `ActiveDirectory` disponível
- Permissões de Domain Admin
- Executar em um DC (Domain Controller)
Código
<syntaxhighlight lang="powershell"> Import-Module ActiveDirectory
- Função reutilizável para criar uma OU, se ela ainda não existir
function Criar-OU {
param (
[string]$OUName,
[string]$ParentDN
)
$FullPath = "OU=$OUName,$ParentDN"
if (-not (Get-ADOrganizationalUnit -LDAPFilter "(distinguishedName=$FullPath)" -ErrorAction SilentlyContinue)) {
New-ADOrganizationalUnit -Name $OUName -Path $ParentDN -ProtectedFromAccidentalDeletion $true
}
}
- Base do domínio
$dominioBase = "DC=grupollal,DC=cloud" $ouRoot = "OU=GRUPOLLAL,$dominioBase"
- Cria a OU raiz
Criar-OU -OUName "GRUPOLLAL" -ParentDN $dominioBase
- OUs principais
$principais = @("Escritorio", "Lojas", "ERs", "Grupos", "Servidores", "Scripts") foreach ($ou in $principais) {
Criar-OU -OUName $ou -ParentDN $ouRoot
}
- Subestrutura do Escritório
$ouEscritorio = "OU=Escritorio,$ouRoot" Criar-OU -OUName "Usuarios" -ParentDN $ouEscritorio Criar-OU -OUName "Computadores" -ParentDN $ouEscritorio
- Setores do Escritório
$setores = @("Comercial", "Logistica", "Dados", "Financeiro", "Marketing", "RH-DP", "Diretoria", "Tecnologia", "Multiplicador") foreach ($setor in $setores) {
Criar-OU -OUName $setor -ParentDN "OU=Usuarios,$ouEscritorio" Criar-OU -OUName $setor -ParentDN "OU=Computadores,$ouEscritorio"
}
- Lojas
$ouLojas = "OU=Lojas,$ouRoot" $lojas = @(
"IRIS HJ - 22170 (22170)", "CSE (2090)", "CNM (5551)", "QNE (5553)", "QNM (5573)", "SAMAMBAIA (5624)", "309 Sul (10791)", "PARK SHOP (19167)", "TERRAÇO (19168)", "PÃO DE AÇUCAR (19169)", "CARREFOUR SUL (19170)", "411 SUL (19171)", "CENTRO CLINICO (19172)", "204 SUL (19173)", "JK SHOP (19771)", "FELICITTA QUE! (19772)", "GUARÁ (19773)", "ATACADÃO (19774)", "RECANTO DAS EMAS (19775)", "AGUAS CLARAS SHOP (19776)", "VICENTE PIRES (19777)", "DF PLAZA (19778)", "TAGUATINGA SHOP (19779)", "ALAMEDA (5552)", "309 SUL (19791)", "DECK NORTE (22638)", "PARANOÁ (22639)", "ATACADÃO QNL (22287)", "QDB TAG SHOP (910148)", "QDB GILBERTO (910293)"
) foreach ($loja in $lojas) {
Criar-OU -OUName $loja -ParentDN $ouLojas Criar-OU -OUName "Usuarios" -ParentDN "OU=$loja,$ouLojas" Criar-OU -OUName "Computadores" -ParentDN "OU=$loja,$ouLojas"
}
- ERs
$ouERs = "OU=ERs,$ouRoot" $ers = @(
"VD CANDANGA - VD CANDANGOLANDIA - 21157 (21157)", "VD CEILANDIA - 13587 (13587)", "VD PARANOA - 22640 (22640)", "VD TAGUATINGA - 14540 (14540)", "VD SÃO SEBASTIÃO - NEW - VD SÃO SEBASTIÃO - 23137 (23137)"
) $setoresER = @("Financeiro", "Estoque", "Gerencia", "Caixa", "Consultoras") foreach ($er in $ers) {
Criar-OU -OUName $er -ParentDN $ouERs
foreach ($sub in $setoresER) {
Criar-OU -OUName $sub -ParentDN "OU=$er,$ouERs"
}
} </syntaxhighlight>
Observações
- Todas as OUs são protegidas contra exclusão acidental
- O script pode ser executado mais de uma vez sem duplicar OUs
- Adaptável para novos setores, lojas e ERs no futuro
Autor
- Iran Ribeiro 😎 – Infra DevOps, responsável pela padronização e automação da TI no domínio grupollal.cloud
Histórico
- 2025-07 – Primeira versão automatizada da arquitetura de OUs