Question
Script logon PS et GPO
- ARRIVE
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 50
- Remerciements reçus 0
il y a 14 ans 3 mois #7632
par ARRIVE
Script logon PS et GPO a été créé par ARRIVE
Bonjour,
Je viens chercher un peu d'aide car je sèche.
J'ai un script d'ouverture de session en Powershell (script que j'ai du trouver sur ce site d'ailleurs ), je souhaite le déployer par GPO sur mon domaine en 2008 R2. Mes postes clients sont en Windows 7.
[code:1]# Récupération du nom de l'utilisateur connecté
function QuiEstConnecte() {
$lCurrentUser = [system.security.principal.windowsidentity]::getcurrent()
$name = $lCurrentUser.name.Substring($lCurrentUser.name.lastindexof(\"\\"«»)+1)
return $name
}
# Détermination si l'utilisateur courant est bien dans le groupe demandé
function EstDansGroupe ([string] $groupechoisi) {
$IsIn = $false
$lCurUser =QuiEstConnecte
$ldapQuery = \"(samaccountname=\"+$lCurUser+\"«»)\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$users = $ads.findall()
$user = $users[0]
foreach ($groupe in $user.properties.memberof) {
if (($groupe.tolower()).IndexOf(\"cn=\"+$groupechoisi.tolower()) -ge 0) {
$IsIn=$true
break
}
}
return $IsIn
}
$ADMIN_Group = \"GG-NAS-ADMIN\"
$ADMIN_Share = \"ADMINISTRATIF\"
$ISO_Group = \"GG-NAS-ISO\"
$ISO_Share = \"ISO\"
$DEVIS_group = \"GG-NAS-DEVIS\"
$DEVIS_Share = \"DEVIS\"
$SI_Group = \"GG-NAS-SI\"
$SI_Share = \"SYSTEMES ET RESEAUX\"
$BCK_Group = \"GG-NAS-BCK\"
$BCK_Share = \"BACKUP\"
$Serveur = \"DS210\"
### Début du programme
$CurrentUser =QuiEstConnecte
$obj = New-Object -com Wscript.Network
if (EstDansGroupe($ADMIN_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $ADMIN_Group
$obj.MapNetworkDrive(\"Z:\", \"\\\"+$Serveur+\"\\"+$ADMIN_Share)
}
if (EstDansGroupe($ISO_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $ISO_Group
$obj.MapNetworkDrive(\"Y:\", \"\\\"+$Serveur+\"\\"+$ISO_Share)
}
if (EstDansGroupe($DEVIS_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $DEVIS_Group
$obj.MapNetworkDrive(\"X:\", \"\\\"+$Serveur+\"\\"+$DEVIS_Share)
}
if (EstDansGroupe($SI_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $SI_Group
$obj.MapNetworkDrive(\"T:\", \"\\\"+$Serveur+\"\\"+$SI_Share)
}
if (EstDansGroupe($BCK_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $BCK_Group
$obj.MapNetworkDrive(\"U:\", \"\\\"+$Serveur+\"\\"+$BCK_Share)
}
[/code:1]
Voici le paramétrage de ma GPO :
1-Configuration utilisateur\Paramètres Windows\Scripts(ouverture\fermeture de session)\ouverture de session - onglet Scripts Powershell.
J'ajoute donc mon script Powershell et je positionne l'ordre d'exécution des scripts à : Exécuter les scripts Powershell en premier.
2- Configuration utilisateur\modèles d'administration\Composants Windows\Windows Powershell\Activer l'exécution des scripts\Autoriser tous les scripts (c'est une maquette)
3- Configuration utilisateur\modèles d'administration\Système\Scripts\
Exécuter les scripts Powershell à l'ouverture et à la fermeture en premier : Activé
Exécuter les scripts d'ouverture de session en mode visible : Activé
Exécuter les scripts d'ouverture de session simultanément : Activé
Dans la partie Configuration Ordinateur j'ai également activé le paramètre suivant :
1- Configuration ordinateur\modèles d'administration\Composants Windows\Windows Powershell\Activer l'exécution des scripts\Autoriser tous les scripts (c'est une maquette)
Malgré la configuration de cette GPO mon script Powershell n'est pas exécuter à l'ouverture de session. J'ai testé mon script en \"local\", sans passer par la GPO, il fonctionne parfaitement.
Si quelqu'un a une piste sur la question je suis preneur.
Merci d'avance
Je viens chercher un peu d'aide car je sèche.
J'ai un script d'ouverture de session en Powershell (script que j'ai du trouver sur ce site d'ailleurs ), je souhaite le déployer par GPO sur mon domaine en 2008 R2. Mes postes clients sont en Windows 7.
[code:1]# Récupération du nom de l'utilisateur connecté
function QuiEstConnecte() {
$lCurrentUser = [system.security.principal.windowsidentity]::getcurrent()
$name = $lCurrentUser.name.Substring($lCurrentUser.name.lastindexof(\"\\"«»)+1)
return $name
}
# Détermination si l'utilisateur courant est bien dans le groupe demandé
function EstDansGroupe ([string] $groupechoisi) {
$IsIn = $false
$lCurUser =QuiEstConnecte
$ldapQuery = \"(samaccountname=\"+$lCurUser+\"«»)\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$users = $ads.findall()
$user = $users[0]
foreach ($groupe in $user.properties.memberof) {
if (($groupe.tolower()).IndexOf(\"cn=\"+$groupechoisi.tolower()) -ge 0) {
$IsIn=$true
break
}
}
return $IsIn
}
$ADMIN_Group = \"GG-NAS-ADMIN\"
$ADMIN_Share = \"ADMINISTRATIF\"
$ISO_Group = \"GG-NAS-ISO\"
$ISO_Share = \"ISO\"
$DEVIS_group = \"GG-NAS-DEVIS\"
$DEVIS_Share = \"DEVIS\"
$SI_Group = \"GG-NAS-SI\"
$SI_Share = \"SYSTEMES ET RESEAUX\"
$BCK_Group = \"GG-NAS-BCK\"
$BCK_Share = \"BACKUP\"
$Serveur = \"DS210\"
### Début du programme
$CurrentUser =QuiEstConnecte
$obj = New-Object -com Wscript.Network
if (EstDansGroupe($ADMIN_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $ADMIN_Group
$obj.MapNetworkDrive(\"Z:\", \"\\\"+$Serveur+\"\\"+$ADMIN_Share)
}
if (EstDansGroupe($ISO_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $ISO_Group
$obj.MapNetworkDrive(\"Y:\", \"\\\"+$Serveur+\"\\"+$ISO_Share)
}
if (EstDansGroupe($DEVIS_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $DEVIS_Group
$obj.MapNetworkDrive(\"X:\", \"\\\"+$Serveur+\"\\"+$DEVIS_Share)
}
if (EstDansGroupe($SI_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $SI_Group
$obj.MapNetworkDrive(\"T:\", \"\\\"+$Serveur+\"\\"+$SI_Share)
}
if (EstDansGroupe($BCK_group)) {
Write-Host $CurrentUser \" appartient au groupe \" $BCK_Group
$obj.MapNetworkDrive(\"U:\", \"\\\"+$Serveur+\"\\"+$BCK_Share)
}
[/code:1]
Voici le paramétrage de ma GPO :
1-Configuration utilisateur\Paramètres Windows\Scripts(ouverture\fermeture de session)\ouverture de session - onglet Scripts Powershell.
J'ajoute donc mon script Powershell et je positionne l'ordre d'exécution des scripts à : Exécuter les scripts Powershell en premier.
2- Configuration utilisateur\modèles d'administration\Composants Windows\Windows Powershell\Activer l'exécution des scripts\Autoriser tous les scripts (c'est une maquette)
3- Configuration utilisateur\modèles d'administration\Système\Scripts\
Exécuter les scripts Powershell à l'ouverture et à la fermeture en premier : Activé
Exécuter les scripts d'ouverture de session en mode visible : Activé
Exécuter les scripts d'ouverture de session simultanément : Activé
Dans la partie Configuration Ordinateur j'ai également activé le paramètre suivant :
1- Configuration ordinateur\modèles d'administration\Composants Windows\Windows Powershell\Activer l'exécution des scripts\Autoriser tous les scripts (c'est une maquette)
Malgré la configuration de cette GPO mon script Powershell n'est pas exécuter à l'ouverture de session. J'ai testé mon script en \"local\", sans passer par la GPO, il fonctionne parfaitement.
Si quelqu'un a une piste sur la question je suis preneur.
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- ARRIVE
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 50
- Remerciements reçus 0
il y a 14 ans 3 mois #7641
par ARRIVE
Réponse de ARRIVE sur le sujet Re:Script logon PS et GPO
Bonjour,
J'ai un message d'avertissement de sécurité lorsque j'exécute le script depuis son emplacement SYSVOL (cf capture en pj).
Je ne comprends pas, car j'ai défini la sécurité de PS à unrestricted.
Si quelqu'un peut m'éclairer...<br><br>Message édité par: Roro, à: 22/08/10 11:00
J'ai un message d'avertissement de sécurité lorsque j'exécute le script depuis son emplacement SYSVOL (cf capture en pj).
Je ne comprends pas, car j'ai défini la sécurité de PS à unrestricted.
Si quelqu'un peut m'éclairer...<br><br>Message édité par: Roro, à: 22/08/10 11:00
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 14 ans 3 mois #7645
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Script logon PS et GPO
Salut Roro,
Pas mal ton script qui connecte automatiquement les lecteurs réseau des utilisateurs !
Je ne vois pas de capture ?
La sécurité des scripts PowerShell est gérée par Internet Explorer. Il faut que tu ajoutes le nom DNS de ton domaine AD dans les sites de confiance IE (Menu Outils/Options Internet/onglet Sécurité).
Arnaud
Pas mal ton script qui connecte automatiquement les lecteurs réseau des utilisateurs !
J'ai un message d'avertissement de sécurité lorsque j'exécute le script depuis son emplacement SYSVOL (cf capture en pj).
Je ne vois pas de capture ?
Je ne comprends pas, car j'ai défini la sécurité de PS à unrestricted.
La sécurité des scripts PowerShell est gérée par Internet Explorer. Il faut que tu ajoutes le nom DNS de ton domaine AD dans les sites de confiance IE (Menu Outils/Options Internet/onglet Sécurité).
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- ARRIVE
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 50
- Remerciements reçus 0
il y a 14 ans 3 mois #7646
par ARRIVE
Réponse de ARRIVE sur le sujet Re:Script logon PS et GPO
Salut Arnaud,
Merci pour le script, malheureusement je n'en suis pas l'auteur, il me semble bien que c'est une personne du forum qui l'avait posté, donc merci à lui.
Désolé pour la capture il y a eu un loupé.
Merci pour l'astuce de IE, je teste des que possible.
Bonne continuation
Merci pour le script, malheureusement je n'en suis pas l'auteur, il me semble bien que c'est une personne du forum qui l'avait posté, donc merci à lui.
Désolé pour la capture il y a eu un loupé.
Merci pour l'astuce de IE, je teste des que possible.
Bonne continuation
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.107 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Script logon PS et GPO