Question Script copie dossier utilisateur

Plus d'informations
il y a 7 ans 7 mois #27427 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.

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

Plus d'informations
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.

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

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