Question
Association 2 colonnes dans CSV
- David
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 3 ans 10 mois - il y a 3 ans 10 mois #30592
par David
Réponse de David sur le sujet Association 2 colonnes dans CSV
Merci Laurent,
Voici le script intégral, j'ai une erreur, je ne vois pas ou j'ai raté quelque chose ... Si ton oeil averti peut m'éclairer ...
Un extrait de mon csv :[img][URL=https://www.casimages.com/i/21030701563770213.jpg.html][IMG]https://nsa40.casimages.com/img/2021/03/07/21030701563770213.jpg[/img][/URL][/img]https://www.casimages.com/i/21030701563770213.jpg.html
Voici l'erreur :
Merci par avance de me dire ou j'ai merdé
Bon dimanche
[img][URL=https://www.casimages.com/i/21030701563770213.jpg.html][IMG]https://nsa40.casimages.com/img/2021/03/07/mini_21030701563770213.jpg[/img][/url][/img][img][URL=https://www.casimages.com/i/21030701563770213.jpg.html][IMG]https://nsa40.casimages.com/img/2021/03/07/mini_21030701563770213.jpg[/img][/url][/img]
Voici le script intégral, j'ai une erreur, je ne vois pas ou j'ai raté quelque chose ... Si ton oeil averti peut m'éclairer ...
Set-ExecutionPolicy -scope CurrentUser -executionpolicy bypass -Force
#variables
$chem1list='\\nancy5\deploiement$\MailevaOffice\Liste.csv'
$list=import-csv $chem1list -Delimiter ';'
$pc = $env:computername
$CurrentUserName=$env:USERNAME
$date = Get-Date -format dd.MM.yyyy:hh.mm
$Log = "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc\$CurrentUserName on $pc.txt"
$fileToCheck = "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc"
$Path = "\\nancy5\deploiement$\MailevaOffice\Entete.jpg"
$dest = "C:\MAILEVA"
$user = get-aduser -Identity "$CurrentUserName" -Properties *
start-transcript -path $Log
$H=@{}
Foreach ($Item in $List)
{
$H.Add($Item.SamAccountName,$Item.Department)
}
if (Test-Path $fileToCheck -PathType leaf){ Remove-Item $fileToCheck -ErrorAction Ignore}
New-Item -ItemType File -path "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc" -name launch.bat -value "\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\MailevaOfficeSetup.exe -s -i$dest\MailevaOffice -p$H.$UserName"
Start-Process "\\nancy5\deploiement$\MailevaOffice\Logs\$session on $pc\launch.bat" -Wait
new-item 'C:\MAILEVA\A_Envoyer' -itemtype directory
new-item 'C:\MAILEVA\Envoyes' -itemtype directory
new-item 'C:\MAILEVA\FondDePage' -itemtype directory
Copy-Item –Path $Path –Destination 'C:\MAILEVA\FondDePage\'
Remove-Item -Path "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc\launch.bat" -Recurse
stop-transcript
Un extrait de mon csv :[img][URL=https://www.casimages.com/i/21030701563770213.jpg.html][IMG]https://nsa40.casimages.com/img/2021/03/07/21030701563770213.jpg[/img][/URL][/img]https://www.casimages.com/i/21030701563770213.jpg.html
Voici l'erreur :
Merci par avance de me dire ou j'ai merdé
Bon dimanche
[img][URL=https://www.casimages.com/i/21030701563770213.jpg.html][IMG]https://nsa40.casimages.com/img/2021/03/07/mini_21030701563770213.jpg[/img][/url][/img][img][URL=https://www.casimages.com/i/21030701563770213.jpg.html][IMG]https://nsa40.casimages.com/img/2021/03/07/mini_21030701563770213.jpg[/img][/url][/img]
Dernière édition: il y a 3 ans 10 mois par David.
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 3 ans 10 mois #30593
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Association 2 colonnes dans CSV
$UserName est $null car tu déclares un autre nom
$CurrentUserName=$env:USERNAME
Visible avec :
Set-StrictMode -Version latest
$CurrentUserName=$env:USERNAME
Visible avec :
Set-StrictMode -Version latest
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- David
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 3 ans 10 mois #30594
par David
Réponse de David sur le sujet Association 2 colonnes dans CSV
Je dois être fatigué ou un peu limité mais je ne comprends pas...
Je vais essayer de poser tout cela et y reflechir
Merci Laurent
Je vais essayer de poser tout cela et y reflechir
Merci Laurent
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 3 ans 10 mois #30595
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Association 2 colonnes dans CSV
>>Je dois être fatigué
Non, j'ai répondu trop rapidement sur le second pb et ai oublié le pb principal...
Vérifie la structure des objets crées par import-csv.
Ajoute une trace :
Non, j'ai répondu trop rapidement sur le second pb et ai oublié le pb principal...
Vérifie la structure des objets crées par import-csv.
Ajoute une trace :
Write-warning "SamAccountName=$($Item.SamAccountName) Department= $($Item.Department)" #TODO à supprimer
$H.Add($Item.SamAccountName,$Item.Department)
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- David
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 3 ans 10 mois - il y a 3 ans 10 mois #30598
par David
Réponse de David sur le sujet Association 2 colonnes dans CSV
Après avoir pas mal bricolé, me voici en ayant avancé un peu.Mon script mis à jour :
Voici la commande qui m'est retournée dans mon launch.bat :
\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\MailevaOfficeSetup.exe -s -iC:\MAILEVA\MailevaOffice -p@{sAMAccountName=POIUYT; department=\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\Conf\BTGSA.FINANCE.xml}.department
\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\MailevaOfficeSetup.exe -s -iC:\MAILEVA\MailevaOffice -p\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\Conf\BTGSA.FINANCE.xml
Cette partie en rouge est fausse
La partie en vert est celle que j'attends
Comment faire pour que s'inscrive ici le xml correspondant au user qui ouvre la session ?
Merci par avance
Set-ExecutionPolicy -scope CurrentUser -executionpolicy bypass -Force
#variables
$List = Import-Csv "\\nancy5\deploiement$\MailevaOffice\users.csv" -Delimiter ';'
$pc = '$env:computername'
$CurrentUserName = '$env:USERNAME'
$date = Get-Date -format dd.MM.yyyy:hh.mm
$Log = "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc\$CurrentUserName on $pc.txt"
$fileToCheck = "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc"
$Path = "\\nancy5\deploiement$\MailevaOffice\Entete.jpg"
$dest = "C:\MAILEVA"
$user = get-aduser -Identity "$CurrentUserName" -Properties *
start-transcript -path $Log
$H=@{}
Foreach ($Item in $List)
{
$H.Add($Item.sAMAccountName,$Item.department)
}
if (Test-Path $fileToCheck -PathType leaf){ Remove-Item $fileToCheck -ErrorAction Ignore}
New-Item -ItemType File -path "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc" -name launch.bat -value "\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\MailevaOfficeSetup.exe -s -i$dest\MailevaOffice -p$Item.department"
Start-Process "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc\launch.bat" -Wait
new-item 'C:\MAILEVA\A_Envoyer' -itemtype directory
new-item 'C:\MAILEVA\Envoyes' -itemtype directory
new-item 'C:\MAILEVA\FondDePage' -itemtype directory
Copy-Item –Path $Path –Destination 'C:\MAILEVA\FondDePage\'
Remove-Item -Path "\\nancy5\deploiement$\MailevaOffice\Logs\$CurrentUserName on $pc\launch.bat" -Recurse
stop-transcript
Voici la commande qui m'est retournée dans mon launch.bat :
\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\MailevaOfficeSetup.exe -s -iC:\MAILEVA\MailevaOffice -p@{sAMAccountName=POIUYT; department=\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\Conf\BTGSA.FINANCE.xml}.department
\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\MailevaOfficeSetup.exe -s -iC:\MAILEVA\MailevaOffice -p\\xxxxx.local\NETLOGON\[BTG]DeploiementMailevaOffice\Conf\BTGSA.FINANCE.xml
Cette partie en rouge est fausse
La partie en vert est celle que j'attends
Comment faire pour que s'inscrive ici le xml correspondant au user qui ouvre la session ?
Merci par avance
Dernière édition: il y a 3 ans 10 mois par David.
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 3 ans 10 mois - il y a 3 ans 10 mois #30599
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Association 2 colonnes dans CSV
Il faut préciser une substitution :
Mais codé ainsi c'est faux.$Item aura tjr la même valeur (la dernière de l'itération de $list)
Tu devrais étudier le fonctionnement d'une hashtable.
A partir de $H, tu dois préciser un nom de clé afin de récupèrer le department de l'utilsateur courant.
Le contenu de $H sera tjr le même seule la clé change pour chaque utilisateur.
-p ${$Item.department}
Mais codé ainsi c'est faux.$Item aura tjr la même valeur (la dernière de l'itération de $list)
Tu devrais étudier le fonctionnement d'une hashtable.
A partir de $H, tu dois préciser un nom de clé afin de récupèrer le department de l'utilsateur courant.
Le contenu de $H sera tjr le même seule la clé change pour chaque utilisateur.
Tutoriels PowerShell
Dernière édition: il y a 3 ans 10 mois par Laurent Dardenne.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.131 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Association 2 colonnes dans CSV