Question
Utilisation "import-module activedirectory"
- Bernard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 2 ans 2 mois #32396
par Bernard
Utilisation "import-module activedirectory" a été créé par Bernard
Bonjour,
Dans un domaine AD, je souhaite exécuter un script à l'ouverture de session des utilisateurs en Powershell (via GPO) afin de leur envoyer un message si la date de changement de leur mot de passe dépasse un certain nombre de jour (60 jours).
En local sur un DC pas de problème le script fonctionne correctement, mais quand le script est exécuté sur le poste de l'utilisateur (à l'ouverture de session via la GPO) cela ne fonctionne pas car il n'y a pas d'accès au module "ActiveDirectory" (la fonctionnalité RSAT n'est pas installée sur les postes de utilisateurs et je ne souhaites pas l'installer naturellement) . Du coup j'ai invariablement le message :
import-module : Le module "ActiveDirectory" spécifié n'a pas été chargé, car aucun fichier de module valide n'a été trouvé dans un répertoire de module.
Voici le code de mon script :
import-module ActiveDirectory
$Seuil_maxi = 60
$name_user = $env:USERNAME
$user_current = Get-ADUser -filter {SamAccountName -eq $name_user } -properties SamAccountName, passwordlastset, passwordneverexpires | select-object Name, passwordlastset, SamAccountName
if (-not ([string]::IsNullOrEmpty($user_current.passwordlastset)))
{
$last_change_pwd = Get-Date $user_current.passwordlastset -Format "dd/MM/yyyy"
$Date_du_jour = (Get-Date).ToString("dd/MM/yyyy")
$ts = New-TimeSpan -Start $last_change_pwd -End $Date_du_jour
# Affichage du message d'information
if ($ts.Days -gt $Seuil_maxi) {
powershell -WindowStyle hidden -Command "& {Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('Bonjour, veuillez changer votre mot de passe', 'Info Users', 'Ok', [System.Windows.Forms.MessageBoxIcon]::Information);}"
}
}
Pour info le script a été positionné dans le netlogon du domaine et tous les utilisateurs peuvent l'exécuter naturellement.
Quelqu'un aurait-il une solution pour importer le module "ActiveDirectory" qui me permettrait d'utiliser la fonction "Get-ADUser "? Ou éventuellement une autre façon de faire...
Merci d'avance
Dans un domaine AD, je souhaite exécuter un script à l'ouverture de session des utilisateurs en Powershell (via GPO) afin de leur envoyer un message si la date de changement de leur mot de passe dépasse un certain nombre de jour (60 jours).
En local sur un DC pas de problème le script fonctionne correctement, mais quand le script est exécuté sur le poste de l'utilisateur (à l'ouverture de session via la GPO) cela ne fonctionne pas car il n'y a pas d'accès au module "ActiveDirectory" (la fonctionnalité RSAT n'est pas installée sur les postes de utilisateurs et je ne souhaites pas l'installer naturellement) . Du coup j'ai invariablement le message :
import-module : Le module "ActiveDirectory" spécifié n'a pas été chargé, car aucun fichier de module valide n'a été trouvé dans un répertoire de module.
Voici le code de mon script :
import-module ActiveDirectory
$Seuil_maxi = 60
$name_user = $env:USERNAME
$user_current = Get-ADUser -filter {SamAccountName -eq $name_user } -properties SamAccountName, passwordlastset, passwordneverexpires | select-object Name, passwordlastset, SamAccountName
if (-not ([string]::IsNullOrEmpty($user_current.passwordlastset)))
{
$last_change_pwd = Get-Date $user_current.passwordlastset -Format "dd/MM/yyyy"
$Date_du_jour = (Get-Date).ToString("dd/MM/yyyy")
$ts = New-TimeSpan -Start $last_change_pwd -End $Date_du_jour
# Affichage du message d'information
if ($ts.Days -gt $Seuil_maxi) {
powershell -WindowStyle hidden -Command "& {Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.MessageBox]::Show('Bonjour, veuillez changer votre mot de passe', 'Info Users', 'Ok', [System.Windows.Forms.MessageBoxIcon]::Information);}"
}
}
Pour info le script a été positionné dans le netlogon du domaine et tous les utilisateurs peuvent l'exécuter naturellement.
Quelqu'un aurait-il une solution pour importer le module "ActiveDirectory" qui me permettrait d'utiliser la fonction "Get-ADUser "? Ou éventuellement une autre façon de faire...
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 2 ans 2 mois #32404
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Utilisation "import-module activedirectory"
Salut,
essaie un proxy (4sysops.com/archives/using-implicit-powe...port-remote-modules/) sinon ADSI
essaie un proxy (4sysops.com/archives/using-implicit-powe...port-remote-modules/) sinon ADSI
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 2 ans 2 mois #32406
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Utilisation "import-module activedirectory"
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Bernard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 2 ans 2 mois #32407
par Bernard
Réponse de Bernard sur le sujet Utilisation "import-module activedirectory"
Bonjour,
Merci Laurent, je vais essayer ta méthode et je te tiens informé du résultat.
Merci Laurent, je vais essayer ta méthode et je te tiens informé du résultat.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.112 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Utilisation "import-module activedirectory"