Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

[SharePoint 2013] [PS] Comptes Gérés à la volée

Publié le par damcuvelier

Tout d'abord, créer les profils dans AD + les fichiers sécurisés de sauvegarde des credentials:

#Utilisation: créer un compte AD à la volée et sauvegarder ses credentials dans un fichier texte
#Usage: .\CreateUserandCred.ps1 -user <SamAccountName> -pwd <userpassword> -domain <userdomain> -credfile <cred file full path>
#puis dans Sharepoint: .\New-SPManagedAccount_cred.ps1 <SamAccountName>@<userdomain> <SamAccountName cred file full path>

#exemple:
#cd C:\deploy
#.\CreateUserandCred.ps1 -user papy -pwd P@ssw0rd!?12345 -domain contoso.com -credfile C:\deploy\papy.txt

param($user,$pwd,$domain,$credfile)
Set-ExecutionPolicy unrestricted -force
[object] $objCred = $null
$UserPrincipalName = "$user@$domain"
$password = ConvertTo-SecureString -String $pwd -AsPlainText -Force
New-ADUser -Name $user -SamAccountName $user -UserPrincipalName $UserPrincipalName -Type "User"
Set-ADAccountPassword -Identity $user -NewPassword $password -Reset
Enable-ADAccount -Identity $user
Set-ADAccountControl -Identity $user -CannotChangePassword $true -PasswordNeverExpires $true
Set-ADUser -Identity $user -ChangePasswordAtLogon $false
[System.Security.SecureString] $strPass = ConvertTo-SecureString -String $pwd -AsPlainText -Force
$objCred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ($UserPrincipalName, $strPass)
$objCred.Password | ConvertFrom-SecureString | Set-Content $credfile

Puis, sur le serveur SharePoint 2013 dans le Powershell SharePoint, importer les comptes à partir des fichiers crédentials associés:

#Utilisation: créer un compte géré SharePoint à la volée et à partir de ses credentials sauvegardés au préalable dans un fichier texte donné.
#Usage: dans Sharepoint: .\New-SPManagedAccount_cred.ps1 <SamAccountName>@<userdomain> <SamAccountName cred file full path>
#exemple:
#cd C:\deploy
#.\New-SPManagedAccount_cred.ps1 papy@contoso.com C:\deploy\papy.txt


Param($User,$File)
Set-ExecutionPolicy unrestricted -force
$credential = ""
$password = Get-Content $File | ConvertTo-SecureString
$credential = New-Object System.Management.Automation.PsCredential($user,$password)
New-SPManagedAccount –Credential $credential

Pour aller plus loin:

Utiliser un fichier csv contenant les infos:

- user

- password

- domain

- fullpath fichier de stockage des creds

Et là vous pouvez créer pleins pleins de chose "à la volée"... plutôt que le prompt de login/mot de passe (get-credential) à chaque fois....

Commenter cet article