Question Script logon PS et GPO

Plus d'informations
il y a 13 ans 8 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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 8 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
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 8 mois #7645 par Arnaud Petitjean
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 ;) !

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.

Plus d'informations
il y a 13 ans 8 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

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.072 secondes
Propulsé par Kunena