Question
Informations Script PS.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
Oui je pense.Est-ce plus clair ?
Avant de chercher à modifier ton script, recherche comment associer une imprimante à un compte AD, si c'est bien ce que tu veux faire.
Comme j'administre peu l'AD, je ne suis pas le mieux placer pour t'aider. Mais avec tes infos complémentaires d'autres pourront maintenant le faire.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- ShizuCorp
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 49
- Remerciements reçus 0
Merci de ta réponse!
Connexion ou Créer un compte pour participer à la conversation.
- ShizuCorp
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 49
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- ShizuCorp
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 49
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- ShizuCorp
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 49
- Remerciements reçus 0
[code:1]
param (
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$FirstName,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$LastName,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$MiddleInitial,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Department,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Title,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Imprimante,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Téléphones,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Tablettes,
[/code:1]
Je l'ai trouver sur Internet, sans aucunes modifications il ressemble à ceci, est-il utilisable pour mon besoin? Ou me conseillez-vous de ne pas le prendre pour mon besoin actuel ?
[code:1]
param (
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$FirstName,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$LastName,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$MiddleInitial,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Department,
[Parameter(Mandatory, ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Title,
[Parameter(ValueFromPipelineByPropertyname)]
[ValidateNotNullOrEmpty()]
[string]$Location = 'OU=Corporate Users',
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$DefaultGroup = 'Entreprise01',
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$DefaultPassword = 'Password01',
[Parameter()]
[ValidateScript({ Test-Path -Path $_ })]
[string]$BaseHomeFolderPath = '\\MEMBERSRV1\Users'
)
## Find the distinguished name of the domain the current computer is a part of.
$DomainDn = (Get-AdDomain).DistinguishedName
## Define the 'standard' username (first initial and last name)
$Username = \"$($FirstName.SubString(0, 1))$LastName\"
#region Check if an existing user already has the first initial/last name username taken
Write-Verbose -Message \"Checking if [$($Username)] is available\"
if (Get-ADUser -Filter \"Name -eq '$Username'\"«»)
{
Write-Warning -Message \"The username [$($Username)] is not available. Checking alternate...\"
## If so, check to see if the first initial/middle initial/last name is taken.
$Username = \"$($FirstName.SubString(0, 1))$MiddleInitial$LastName\"
if (Get-ADUser -Filter \"Name -eq '$Username'\"«»)
{
throw \"No acceptable username schema could be created\"
}
else
{
Write-Verbose -Message \"The alternate username [$($Username)] is available.\"
}
}
else
{
Write-Verbose -Message \"The username [$($Username)] is available\"
}
#endregion
#region Ensure the OU the user's going into exists
$ouDN = \"$Location,$DomainDn\"
if (-not (Get-ADOrganizationalUnit -Filter \"DistinguishedName -eq '$ouDN'\"«»))
{
throw \"The user OU [$($ouDN)] does not exist. Can't add a user there\"
}
#endregion
#region Ensure the group the user's going into exists
if (-not (Get-ADGroup -Filter \"Name -eq '$DefaultGroup'\"«»))
{
throw \"The group [$($DefaultGroup)] does not exist. Can't add the user into this group.\"
}
if (-not (Get-ADGroup -Filter \"Name -eq '$Department'\"«»))
{
throw \"The group [$($Department)] does not exist. Can't add the user to this group.\"
}
#endregion
#region Ensure the home folder to create doesn't already exist
$homeFolderPath = \"$BaseHomeFolderPath\$UserName\"
if (Test-Path -Path $homeFolderPath)
{
throw \"The home folder path [$homeFolderPath] already exists.\"
}
#endregion
#region Create the new user
$NewUserParams = @{
'UserPrincipalName' = $Username
'Name' = $Username
'GivenName' = $FirstName
'Surname' = $LastName
'Title' = $Title
'Department' = $Department
'SamAccountName' = $Username
'AccountPassword' = (ConvertTo-SecureString $DefaultPassword -AsPlainText -Force)
'Enabled' = $true
'Initials' = $MiddleInitial
'Path' = \"$Location,$DomainDn\"
'ChangePasswordAtLogon' = $true
}
Write-Verbose -Message \"Creating the new user account [$($Username)] in OU [$($ouDN)]\"
New-AdUser @NewUserParams
#endregion
#region Add user to groups
Write-Verbose -Message \"Adding the user account [$($Username)] to the group [$($DefaultGroup)]\"
Add-ADGroupMember -Members $Username -Identity $DefaultGroup
Write-Verbose -Message \"Adding the user account [$($Username)] to the group [$($Department)]\"
Add-ADGroupMember -Members $Username -Identity $Department
#endregion
#region Create the home folder
Write-Verbose -message \"Creating the home folder [$homeFolderPath]...\"
$null = mkdir $homeFolderPath
#endregion
[/code:1]<br><br>Message édité par: ShizuCorporation, à: 18/12/17 11:18
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
oui si tu comprend ce que fais le scriptPuis-je me servir d'un script comme celui-ci pour mes ajouts d'imprimantes/téléphones/tablettes et autres ?
ce script repond a un besoin : ajout d'un compte utilisateur dans l'AD dans une OU et deux groupes donnais en paramètreJe l'ai trouver sur Internet, sans aucunes modifications il ressemble à ceci, est-il utilisable pour mon besoin?
ça depend si je comprend ce qui suis :Ou me conseillez-vous de ne pas le prendre pour mon besoin actuel ?
si je comprend cette demande tu ajoute les infos d'Imprimante, tablette, téléphone, etc, dans le compte utilisateur,Pour cela ils remplissent le tableau, qui ensuite je transforme en CSV, cependant, comment les informations ou y'a écrit : Imprimante, tablette, téléphone ect peuvent être retranscrite sur le script, car c'est bien beau de l'avoir sur CSV mais c'est le script qui permet d'ajouter cela dans les infos de création de comptes !
le script trouvé ne contient pas ces infos
j'ai une question : comment fais tu actuellement pour ajouter ces infos dans l'AD, manuellement je suppose mais dans quel partie de l'AD, dans quel groupe, crée tu de nouveaux compte pour les Imprimante, tablette, téléphone, etc ?
a partir de cette réponse on pourra t'aidée dans la réalisation de ton script !
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Informations Script PS.