IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Impossible de lier l'argument au paramètre " path" car la valeur est nulle.


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut Impossible de lier l'argument au paramètre " path" car la valeur est nulle.
    Bonjour, je suis assez novice sur powershell et j'ai écrit un petit script qui doit supprimer des fichiers dans 2 dossiers différents, l'un totalement et dans l'autre les fichiers qui font plus de 512 Kb.

    voici le code

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $users = Get-ChildItem -Path "C:\Users"
     
    $path="C:\users\*\Downloads\*.*"
    $path2="C:users\*\desktop\*.*" | Where-Object {$_.Length -gt 512KB}
     
     
    if (Test-Path $path) {
     
        $path + " Exists"
        Remove-Item -Path  $path -Force -recurse
     
        }
     
    if (Test-Path $path2) {
     
        $path2 + " Exists"
        Remove-Item -Path $path2 -Force -recurse
     
     
        }

    lorsque j'execute ligne par ligne l'erreur que j'ai se situe à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $path2 + " Exists"
        Remove-Item -Path $path2 -Force -recurse
    erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Test-Path : Impossible de lier l'argument au paramètre «*Path*», car il a la valeur Null.
    Au niveau de ligne*: 15 Caractère*: 14
    + if (Test-Path <<<<  $path2) {
        + CategoryInfo          : InvalidData: (:) [Test-Path], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand
    je ne sais pas bien à quoi ça correspond, malgré mes 'petites' recherches, pouvez-vous m'aider en m'indiquant ce que j'ai mal écrit ou oublié svp?

    Merci d'avance.

    cdl

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    $path2="C:users\*\desktop\*.*"
    il te manque un \

    $path2="C:users\*\desktop\*.*" | Where-Object {$_.Length -gt 512KB}
    Tu ne peux pas vérifier la taille des fichiers sur un objet de type string (chaine de caractère)

    Je te propose ceci :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $path1 = "C:\users\*\Downloads"
    $path2 = "C:\users\*\desktop"
     
    $files1 = Get-ChildItem -Path $path1 -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {$_.PSIsContainer -eq $false}
    $files2 = Get-ChildItem -Path $path2 -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {$_.PSIsContainer -eq $false -and $_.Length -gt 512KB}
     
     
    if ($files1 -ne $null)
    {
        Write-Host "$path1 : Exist"
        $files1 | Remove-Item -Force
    }
     
    if ($files2 -ne $null)
    {
        Write-Host "$path2 : Exist"
        $files2 | Remove-Item -Force
    }

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu as conscience que ça va supprimer tous les fichiers sur tous les bureaux des utilisateurs du poste ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Tu as conscience que ça va supprimer tous les fichiers sur tous les bureaux des utilisateurs du poste ?
    Merci pour le code, non je n'en avait pas conscience, je suis tout neuf sur powershell, et j'ai un parc de 4 machines pour tester avant.

    lors des tests ligne par ligne il effectuait bien les suppressions voulues...

    Je vais tester ton code - Merci d'avance.

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    J'ai été un peu vite, ça va supprimer les fichiers supérieur à 512KB sur tous les bureaux des utilisateurs du poste

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    J'ai été un peu vite, ça va supprimer les fichiers supérieur à 512KB sur tous les bureaux des utilisateurs du poste
    Merci beaucoup, ta portion de code fonctionne nettement mieux.

    Bonne journée.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2016, 11h24
  2. [PowerShell] Impossible de lier l'argument au paramètre «*Identity*», car il a la valeur Null.
    Par G-Orwell dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/03/2013, 17h12
  3. Skip-name-resolve - Impossible d'activer cet argument
    Par fenx06 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 15/01/2007, 09h56
  4. [VB.Net] "Impossible de créer le handle de fenêtre"
    Par cedric_g dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/04/2006, 12h49
  5. [Kylix] Impossible de lier
    Par Scoobs dans le forum EDI
    Réponses: 2
    Dernier message: 20/05/2003, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo