Guido Oliveira
  • Home
  • Sobre
  • Contato
  • Home
  • Sobre
  • Contato
Menu
  • Home
  • Sobre
  • Contato

Criando uma Pagina de criaçao de usuário no Active Directory com Powershell

Published by Guido Oliveira on 27/01/2021
Categories
  • Active Directory
  • Powershell
Tags
  • activedirectory
  • powershell
  • UniversalDashBoard
Facebook0
Twitter0
LinkedIn0
Google+0
Pinterest0

Olá pessoal,

Hoje vamos ver como criar uma ferramenta web para criaçao de usuários no Active Directory usando powershell e o módulo UniversalDashboard. o Universal Dashboard é um modulo extremamente poderoso para a criação de Dashboards e Paginas Web usando apenas Powershell.

Criação de usuário:

param(
    [Parameter(Mandatory)]
    [string]$FirstName,
    [Parameter(Mandatory)]
    [string]$LastName,
    [Parameter(Mandatory)]
    [string]$UserName,
    [Parameter(Mandatory)]
    [ValidateSet("Tecnologia", "Recursos Humanos", "Contabilidade", "Marketing")]
    [string]$Department
)

$password = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 20 |ForEach-Object -Process {[char]$_} )
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force

$NewAdUserParameters = @{
    GivenName = $FirstName
    Surname = $LastName 
    Name = $UserName 
    AccountPassword = $securePassword
    Department = $Department
    Enabled = $true
    UserPrincipalName = '{0}@{1}' -f $UserName, $((Get-ADDomain).DNSRoot)
    ChangePasswordAtLogon = $true
}

New-AdUser @NewAdUserParameters

Dashboard:

Import-Module UniversalDashboard.Community

$Dashboard = New-UDDashboard -Title "Create New AD User" -Content {
    New-UDInput -Title "Create new user" -Content {
        New-UDInputField -Name "FirstName" -Placeholder "First Name" -Type "textbox"
        New-UDInputField -Name "LastName" -Placeholder "Last Name" -Type "textbox"
        New-UDInputField -Name "UserName" -Placeholder "Account Name" -Type "textbox"
        New-UDInputField -Name "Department" -Placeholder "Department" -Values "Tecnologia", "Recursos Humanos", "Contabilidade", "Marketing" -Type "select"
    } -Endpoint {
        param(
            [Parameter(Mandatory)]
            [string]$FirstName,
            [Parameter(Mandatory)]
            [string]$LastName,
            [Parameter(Mandatory)]
            [string]$UserName,
            [Parameter(Mandatory)]
            [ValidateSet("Tecnologia", "Recursos Humanos", "Contabilidade", "Marketing")]
            [string]$Department
        )

        $password = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 20 |ForEach-Object -Process {[char]$_} )
        $securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force

        $NewAdUserParameters = @{
            GivenName = $FirstName
            Surname = $LastName 
            Name = $UserName 
            AccountPassword = $securePassword
            Department = $Department
            Enabled = $true
            UserPrincipalName = '{0}@{1}' -f $UserName, $((Get-ADDomain).DNSRoot)
            ChangePasswordAtLogon = $true
        }

        New-AdUser @NewAdUserParameters

        New-UDInputAction -Content {
            New-UDCard -Title "Temporary Password" -Text $Password
        }
    } -Validate
}
Start-UDDashboard -Dashboard $Dashboard -Port 80 -AutoReload

 

 

Dúvidas? Sugestões? Comente!

Até a Próxima

Share
Guido Oliveira
Guido Oliveira

Related posts

23/02/2021

Tratativa de erro com Powershell


Read more
09/02/2021

Removendo acentos de palavras usando Powershell


Read more
08/02/2021

Alterando campos de usuários em lote no Active Directory


Read more

Deixe uma resposta Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Busca

Prêmios

Powershell MVP
Facebook
© 2019 Guido Oliveira. All Rights Reserved.
Menu
  • Home
  • Sobre
  • Contato