none
Mot de passe lecteur réseau

    Question

  • Bonjour à tous :) 

    Je vous expose mon soucis : j'essaye de faire un script en powershell qui permet de connecter et/ou déconnecter des lecteurs réseaux le tout pour me faciliter la vie :p (pour cette partie tout fonctionne) le soucis que je rencontre c'est que je ne sais pas comment faire pour demander à l'utilisateur de rentrer le mot de passe qui sera stocké dans les informations d'identification windows. Je n'ai pas le moindre début de piste... si vous en avez je suis preneur ;) 

    Bonne journée

    Pierre


    lundi 30 avril 2018 09:57

Réponses

  • Ce n'est pas le meme message :)

    Tu peux me dire ce que tu renseignes dans tes champs stp ?

    quel est le chemin du lecteur à connecter ?

    il faut \\monserveur\monpartage

    quelle lettre voulez vous associer avec ?

    On renseigne juste H ou Y

    pas de H:


    Merci de marquer comme reponses les interventions qui vous ont ete utile.

    lundi 30 avril 2018 14:47
  • Je me sens si bête ... 

    MERCIIIII 

    :D

    lundi 30 avril 2018 15:31
  • Parfait si ça fonctionne.

    Attention toutefois, le script est loin d'être parfait. Si le lecteur existe déjà, si la lettre est déjà prise, si on essaye de supprimer un lecteur dont la lettre n'existe pas sont des cas non pris en charge.

    Donc il fait le travail minimum, mais il est plus que perfectible !


    Merci de marquer comme reponses les interventions qui vous ont ete utile.

    lundi 30 avril 2018 15:40

Toutes les réponses

  • Bonjour,

    Si vous êtes dans un domaine, il suffit de faire une GPO. Si vous êtes en workgroup, le but serait que l'utilisateur clique sur le powershell pour que ca lui demande le mot de passe ?

    pour tout ce qui est saisie de mot de passe en powershell on utilise get-credential assez fréquement.

    Peut être que si vous postiez votre script ce serait un peu plus simple mais j'ai du mal à comprendre le besoin honnêtement, peut être pourriez vous le détailler ?


    Merci de marquer comme reponses les interventions qui vous ont ete utile.



    lundi 30 avril 2018 10:21
  • Bonjour,

    Nous sommes en workgroup, 

    vpici mon script : 

    net use  
    do {
    "Que voulez vous faire ?"
    $debut=Read-Host " choix 1 : supprimer des lecteurs `r choix 2 : connecter des lecteurs `r choix 3 : sortir `r votre choix ?"
    $debut 

            switch($debut) {
            
            '1' { 
                $lettre=Read-Host "quelle lettre à supprimer ?"
                $lettre  
                net use $lettre /delete 
                net use
                ;break } 
              
            '2' {
                $lecteur=Read-Host "quel lecteur faut il connecter ?"
                $lecteur
                
                $ajout_lettre=Read-Host "quelle lettre voulez vous associer avec ? "
                $ajout_lettre
                $utilisateur=Read-Host "Nom d'utilisateur ? "
                $mot_de_passe=Read-Host -assecurestring "Mot de passe ?"

                #code manquant pour ajouter le nom d'utilisateur et le mot de passe dans les identifiants windows


                net use $ajout_lettre \\adresse_ip\$lecteur
                net use
                ;break } 
            
            
        '3' { 
                EXIT 
                ;break } 
            
            default { "mission failed" } 
            
                } 
    } while ($true)
    lundi 30 avril 2018 10:36
  • Waou ^^

    C'est un melage de powershell et de batch ça xD

    Je vous propose le script un peu arrangé, mais je ne suis pas une bête de powershell je préviens :x

    Que diriez vous de ça :

    do {
    #Affichage du sommaire
    write-host " Que voulez vous faire ?`n"
    $debut=Read-Host " choix 1 : supprimer des lecteurs `n choix 2 : connecter des lecteurs `n choix 3 : sortir `n votre choix ?"

            switch($debut) {

            #Suppression des lecteurs
            '1' {
                $lettre=Read-Host "quelle lettre à supprimer ?"
                Remove-psdrive -Name $lettre
                break
                }

            #Connexion d'un nouveau lecteur  
            '2' {
                $chemin=Read-Host "quel est le chemin du lecteur à connecter ?"
                $lettre=Read-Host "quelle lettre voulez vous associer avec ? "
                $credential = get-credential
                new-psdrive -Name $lettre -Root $chemin -PsProvider "filesystem" -Credential $credential
                break
                }  
                       
            #Sortir
            '3' {
                EXIT
                break
                }
            
            default { "mission failed" }
            
                }
    } while ($true)


    Merci de marquer comme reponses les interventions qui vous ont ete utile.

    lundi 30 avril 2018 11:25
  • Merci pour ton retour 

    Mais il me reste cependant une erreur quand j'exécute le programme : 

    Ce fournisseur ne prend pas en charge l'utilisation des informations d'identification. Recommencez l'opération sans spécifier d'informations d'identification.
    Au niveau de C:\..... : 22 Caractère : 13
    +              <<<< new-psdrive -Name $lettre -Root $chemin -PsProvider "filesystem" -Credential $credential 
        + CategoryInfo          : NotImplemented: (:) [], PSNotSupportedException
        + FullyQualifiedErrorId : NotSupported

    Je ne vois pas d'ou est ce qu'elle peut venir... si vous avez des idées ^^ 

    • Modifié Picouzep lundi 30 avril 2018 12:07
    lundi 30 avril 2018 12:07
  • Quel est l'OS de votre système client ?

    Est ce qu'il est à jour ?

    Peux tu dans une fenetre powershell afficher la variabl $PSVersionTable et me donner la valeur pour psversion ?

    Il faut powershell V3 pour que cela fonctionne à priori... Ce qui commence à être assez vieux vu qu'on est en 5

    Est ce que ca fonctionne si vous faites comme ça

    do {
    #Affichage du sommaire
    write-host " Que voulez vous faire ?`n"
    $debut=Read-Host "choix 1 : supprimer des lecteurs choix 2 : connecter des lecteurs choix 3 : sortir `n votre choix ?"
    
            switch($debut) {
    
            #Suppression des lecteurs
            '1' { 
                $lettre=Read-Host "quelle lettre à supprimer ?"
                Remove-psdrive -Name $lettre 
                break
                } 
    
            #Connexion d'un nouveau lecteur  
            '2' {
                $chemin=Read-Host "quel est le chemin du lecteur à connecter ?"
                $lettre=Read-Host "quelle lettre voulez vous associer avec ? "
                new-psdrive -Name $lettre -Root $chemin -PsProvider "filesystem" -Credential (get-credential)
                break
                }  
                       
            #Sortir
            '3' { 
                EXIT 
                break 
                } 
            
            default { "mission failed" } 
            
                } 
    } while ($true)



    Merci de marquer comme reponses les interventions qui vous ont ete utile.





    lundi 30 avril 2018 12:19
  • Je suis sous Windows 7

    voici ce que tu m'as demandé : 

    PS C:\Users\Utilisateur> $PSVersionTable

    Name                           Value
    ----                           -----
    CLRVersion                     2.0.50727.8762
    BuildVersion                   6.1.7601.23403
    PSVersion                      2.0
    WSManStackVersion              2.0
    PSCompatibleVersions           {1.0, 2.0}
    SerializationVersion           1.1.0.1
    PSRemotingProtocolVersion      2.1

    en suivant la nouvelle version du script ça ne fonctionne toujours pas : 

    Ce fournisseur ne prend pas en charge l'utilisation des informations d'identification. Recommencez l'opération sans spécifier d'informations d'identification.
    Au niveau de C:\.... : 21 Caractère : 13
    +              <<<< new-psdrive -Name $lettre -Root $chemin -PsProvider "filesystem" -Credential (get-credential)
        + CategoryInfo          : NotImplemented: (:) [], PSNotSupportedException
        + FullyQualifiedErrorId : NotSupported


    lundi 30 avril 2018 12:52
  • Donc c'est normal...

    Le poste n'est pas à jour. Powershell version2...

    Il faut commencer par là et ça fonctionnera.

    https://www.microsoft.com/en-us/download/details.aspx?id=54616

    Tant que $psversiontable ne renvoie pas 5 cela ne fonctionnera pas. (même si la version minimale requise est 3)

    Vous pourrez alors utilisez l'avant dernier script plus propre que le dernier.


    Merci de marquer comme reponses les interventions qui vous ont ete utile.


    lundi 30 avril 2018 13:48
  • Je te remercie et te fait un retour le plus vite possible :)
    lundi 30 avril 2018 14:13
  • Mon powershell est à jour : 

    PS C:\Users\Utilisateur> $PSVersionTable

    Name                           Value
    ----                           -----
    PSVersion                      5.1.14409.1005
    PSEdition                      Desktop
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   10.0.14409.1005
    CLRVersion                     4.0.30319.42000
    WSManStackVersion              3.0
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1

    Avec toujours ce même message d'erreur quand j'essaye de connecter un lecteur : 

    new-psdrive : Cannot process the drive name because the drive name contains one or more of the following characters that are not 
    valid: ; ~ / \ . :
    At C:\Users\Utilisateur\Desktop\lecteur.ps1:19 char:13
    +             new-psdrive -Name $lettre -Root $chemin -PsProvider "file ...
    +             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidArgument: (:) [New-PSDrive], PSArgumentException
        + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.NewPSDriveCommand

    lundi 30 avril 2018 14:38
  • Ce n'est pas le meme message :)

    Tu peux me dire ce que tu renseignes dans tes champs stp ?

    quel est le chemin du lecteur à connecter ?

    il faut \\monserveur\monpartage

    quelle lettre voulez vous associer avec ?

    On renseigne juste H ou Y

    pas de H:


    Merci de marquer comme reponses les interventions qui vous ont ete utile.

    lundi 30 avril 2018 14:47
  • Je me sens si bête ... 

    MERCIIIII 

    :D

    lundi 30 avril 2018 15:31
  • Parfait si ça fonctionne.

    Attention toutefois, le script est loin d'être parfait. Si le lecteur existe déjà, si la lettre est déjà prise, si on essaye de supprimer un lecteur dont la lettre n'existe pas sont des cas non pris en charge.

    Donc il fait le travail minimum, mais il est plus que perfectible !


    Merci de marquer comme reponses les interventions qui vous ont ete utile.

    lundi 30 avril 2018 15:40