0 votos

Error Al añadir un usuario mediante Powershell

Hola, llevo unos días trabajando en el siguiente script

<# funcion que no deja introducir numeros en el nombre #> function num ($str) { $expnum='[1-9]+' $comp=$str -match $expnum

 if ($comp -eq 1 ){
 Write-Error "El nombre no puede contener numeros"
 exit
 }

} function raro($str){ $exprar='[+,,/ç,?,¿,¡,=,),(,&,%,$,",!,º,ª,\,;,:,.]+' $comp=$str -match $exprar if ($comp -eq 1){ Write-Error 'El nombre no puede contener caracteres los Siguientes caracteres "+,,/ç,?,¿,¡,=,),(,&,%,$,",!,º,ª,\,;,:,.' exit } }

Grupo Principal

$grupoprin = get-adgroup "prueba" -properties @("primaryGroupToken") $grupoprinid=$grupoprin.primaryGroupToken

echo $grupoprinid

-----------------

Nombre de usuario

------------------

$dc=Get-ADDomain |select -ExpandProperty "DistinguishedName"

for([int]$i=0;$i -lt 1; $i++){

Conseguir datos del nuevo usuario

[string]$nombre= Read-Host "Introduzca el nombre del usuario"
num($nombre)
raro($nombre)

[string]$apellido= Read-Host "Introduzca el apllido del usuario"

#### Contrasena ####
[string]$ano=Get-Date -UFormat "%y";
[string]$mayus=$apellido.Substring(0,1).ToUpper();
[string]$minus=$apellido.Substring(1,$apellido.Length-1).ToLower();
[string]$contrasena="$mayus$minus.$ano";
$nldap="OU="
# echo $contrasena
$In=$nombre.Substring(0,1).ToUpper()
$Nlog="$In$apellido"
####----------####

Introducción manual de contrasena

[string]$passwd= Read-Host -AsSecureString "Introduzca la contrasena"

$unidades= Get-ADOrganizationalUnit -Filter *| select -expandProperty "name"
echo $unidades
[string]$Unidad= Read-Host "Introduzca a que unidad organizatiba quiere que pertenezca"
$ou="$nldap$Unidad"
echo "1     2     3"
echo "4     5     6"
echo "7     8     9"
[string]$of= Read-Host "Introduzca el numero de la oficina a la cual pertenece"
switch($of){
  1{$oficina="xxx"}
  2{$oficina=""}
  3{$oficina=""}
  4{$oficina=""}
  5{$oficina=""}
  6{$oficina=""}
  7{$oficnia=""}
  8{$oficina=""}
  9{$oficina=""}

}

[string]$pais=Read-host "Introduzca de que pais és"
num($pais)
raro($pais)

[string]$dep=Read-Host "Introduzca a que departamento pertenece"
num($dep)
raro($dep)

$path="$ou,$dc"
$mail="$Nlog@xxx"

 New-ADUser -name "$Nlog" -AccountPassword ( ConvertTo-SecureString "$contrasena" -AsPlainText -Force) `
 -Path $path -Enabled $true `
 -DisplayName "$nombre $apellido" -Surname $apellido -GivenName $nombre `
 -Office $oficina -EmailAddress $mail -Description $dep -ChangePasswordAtLogon $false;

 Add-ADGroupMember -Identity "prueba" -Members $Nlog
 Add-ADGroupMember -Identity "prueba2" -Members $Nlog
 get-aduser $Nlog | Set-ADUser -Replace @{primaryGroupID=$grupoprinid}
 Remove-ADGroupMember -Identity "Usuarios del dominio" -Members $Nlog 

echo $contrasena
#Más usuarios
echo "Quiere anadir otro usuario [Si/NO]"
$Musuario= Read-Host "(NO)"
if ($Musuario -eq "Si"){
$i= $i - 1
}

}

Cuando intento añadir un usuario nuevo me da el siguiente error:

New-ADUser : La contraseña no cumple los requisitos de historial, complejidad o longitud del dominio. En C:\Users\Administrador\Desktop\Scripts\Usuarios.ps1: 98 Carácter: 6

  • New-ADUser -name "$Nlog" -AccountPassword $pass `
  • 
    + CategoryInfo          : InvalidData: (CN=Eportillo,OU=prueba,DC=Carlos,DC=lan:String) [New-ADUser], ADPasswordComplex 
    ityException
    + FullyQualifiedErrorId : ActiveDirectoryServer:1325,Microsoft.ActiveDirectory.Management.Commands.NewADUser

Lo cual me parece raro ya que añadiéndolo de forma gráfica no me da ese error e incluso haciendo el mismo comando fuera del script funciona sin problemas y no me da el error

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

;