Question
Script copie dossier utilisateur
- morgan
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 7 ans 7 mois #27427
par morgan
Script copie dossier utilisateur a été créé par morgan
Bonjour,
Pour mon travail, je dois faire un script qui affiche un petit menu déroulant indiquant la liste des utilisateurs ayant déjà ouvert une session sur le pc sur lequel on travaille.
La recherche se fait dans le c:\Users mais c'est le DisplayName de l’utilisateur qui doit s'afficher pour plus de clarté.
Il faut récupérer des dossiers stocké en local afin de les copier sur un autre répertoire.
Avant de m'occuper du menu déroulant, je veux faire le script qui me donne la liste des utilisateurs dans C:\Users
J'ai déjà ce script là
[code:1]
$chemin = \"C:\Users\\"
$users = Get-ChildItem -Path $chemin
Write-Host \"Liste des utilisateurs présents : \"
foreach ($user in $users)
{
Get-ADUser -Identity \"$user\" | fl Name
}
[/code:1]
Il me liste bien les utilisateurs mais j'aimerais pouvoir sélectionner un utilisateur qui s'affiche et le mettre dans une variable pour ensuite copier les fameux dossiers
Merci d'avance pour votre aide.
Pour mon travail, je dois faire un script qui affiche un petit menu déroulant indiquant la liste des utilisateurs ayant déjà ouvert une session sur le pc sur lequel on travaille.
La recherche se fait dans le c:\Users mais c'est le DisplayName de l’utilisateur qui doit s'afficher pour plus de clarté.
Il faut récupérer des dossiers stocké en local afin de les copier sur un autre répertoire.
Avant de m'occuper du menu déroulant, je veux faire le script qui me donne la liste des utilisateurs dans C:\Users
J'ai déjà ce script là
[code:1]
$chemin = \"C:\Users\\"
$users = Get-ChildItem -Path $chemin
Write-Host \"Liste des utilisateurs présents : \"
foreach ($user in $users)
{
Get-ADUser -Identity \"$user\" | fl Name
}
[/code:1]
Il me liste bien les utilisateurs mais j'aimerais pouvoir sélectionner un utilisateur qui s'affiche et le mettre dans une variable pour ensuite copier les fameux dossiers
Merci d'avance pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- morgan
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 7 ans 6 mois #27432
par morgan
Réponse de morgan sur le sujet Re:Script copie dossier utilisateur
Bon après avoir galérer, j'ai réussi à faire un petit script qui fonctionne mais assez moche.
[code:1]
$chemin = \"C:\Users\\"
$users = (Get-ChildItem -path $chemin).Name | where { \"Public\", \"Administrateur\" -notcontains $_}
Write-Host \"Liste des utilisateurs présents : \"
$result=foreach ($user in $users)
{
Get-ADUser -Identity \"$user\" | select Name, SamAccountName
}
$result | Export-Csv C:\oui.csv
$result | Out-File C:\oui.txt
Get-Content -Path C:\oui.txt
$select= Read-Host -Prompt 'Selectionner un utilisateur'
$cp=Get-Content -Path C:\oui.csv | Select-String $select
$cp
$question = 'Voulez-vous copier les dossiers de cet utilisateur ?'
$choices = New-Object Collections.ObjectModel.Collection[Management.Automation.Host.ChoiceDescription]
$choices.Add((New-Object Management.Automation.Host.ChoiceDescription -ArgumentList '&Oui'))
$choices.Add((New-Object Management.Automation.Host.ChoiceDescription -ArgumentList '&Non'))
$decision = $Host.UI.PromptForChoice($message, $question, $choices, 1)
if ($decision -eq 0)
{
Copy-Item \"C:\Users\$select\Desktop\",\"C:\Users\$select\Links\",\"C:\Users\$select\Downloads\" -Destination \"C:\\" -Recurse
Write-Host '
'
Write-Host 'Copie effectué'
}
else
{
Write-Host '
'
Write-Host 'Dossiers non copiés'
}
Write-Host '
'
pause
[/code:1]
Il me reste que l'interface graphique à faire.
[code:1]
$chemin = \"C:\Users\\"
$users = (Get-ChildItem -path $chemin).Name | where { \"Public\", \"Administrateur\" -notcontains $_}
Write-Host \"Liste des utilisateurs présents : \"
$result=foreach ($user in $users)
{
Get-ADUser -Identity \"$user\" | select Name, SamAccountName
}
$result | Export-Csv C:\oui.csv
$result | Out-File C:\oui.txt
Get-Content -Path C:\oui.txt
$select= Read-Host -Prompt 'Selectionner un utilisateur'
$cp=Get-Content -Path C:\oui.csv | Select-String $select
$cp
$question = 'Voulez-vous copier les dossiers de cet utilisateur ?'
$choices = New-Object Collections.ObjectModel.Collection[Management.Automation.Host.ChoiceDescription]
$choices.Add((New-Object Management.Automation.Host.ChoiceDescription -ArgumentList '&Oui'))
$choices.Add((New-Object Management.Automation.Host.ChoiceDescription -ArgumentList '&Non'))
$decision = $Host.UI.PromptForChoice($message, $question, $choices, 1)
if ($decision -eq 0)
{
Copy-Item \"C:\Users\$select\Desktop\",\"C:\Users\$select\Links\",\"C:\Users\$select\Downloads\" -Destination \"C:\\" -Recurse
Write-Host '
'
Write-Host 'Copie effectué'
}
else
{
Write-Host '
'
Write-Host 'Dossiers non copiés'
}
Write-Host '
'
pause
[/code:1]
Il me reste que l'interface graphique à faire.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.036 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Script copie dossier utilisateur