Question [Résolu]Path Script Powershell

Plus d'informations
il y a 7 ans 3 mois #28185 par dimshell
Bonjour,

J’aimerais utiliser une variable Path pour éviter de taper à chaque fois le chemin sur chaque serveur.

je fais bien un $path=get-location

et je le place avant le \Desktop\.. mais lors de l'exécution en tâche planifié j'ai une erreur.

[code:1]Import-Csv : Impossible de trouver une partie du chemin d'accès 'C:\windows\system32\Documents\testdump.txt'.
Au caractère C:\Users\\Desktop\ScriptWinDump.ps1:24 : 9
+ $dump = Import-Csv $fichier -Header $Header -Delimiter \" \"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (:«») [Import-Csv], DirectoryNotFoundException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ImportCsvCommand

La propriété « ipdest » est introuvable dans cet objet. Vérifiez qu’elle existe et qu’elle peut être définie.
Au caractère C:\Users\\Desktop\ScriptWinDump.ps1:29 : 5
+ $_.ipdest = $_.ipdest -replace \":\",\" \"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:«») [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound[/code:1]

[code:1]C:\Users\\Desktop\Windump.exe -ArgumentList \"-D\"
# Commande WinDump
$a=2
$argum=\"-i $a -q -n -t -c 500 tcp\"
$path=Get-Location

# Contenant le résultat du WinDump
$fichier = \"$path\Documents\testdump.txt\"

# Contenant le résultat après modifiction de la variable $fichier
$newcontenu = \"C:\Users\\Documents\testdump2.txt\"

# Colonne du CSV
$Header = \"c1\",\"ipsrc\", \"portsrc\", \"ipdest\", \"portdest\", \"c6\"

# Lancement d'une application Windump.exe avec l'argument une variable contenant la commande WinDump et écrit dans le fichier fournit
$process=Start-Process C:\Users\\Desktop\Windump.exe -PassThru -ArgumentList $argum -RedirectStandardOutput $fichier

# Attends la fin d'execution du processus pour continuer le script
$process.WaitForExit()

# Lecture du fichier comme ci celui-ci été un CSV
$dump = Import-Csv $fichier -Header $Header -Delimiter \" \"


# Remplace après l'ip de destination le : par du vide (parcours l'ensemble des objets)
$dump | foreach {
$_.ipdest = $_.ipdest -replace \":\",\" \"
}

# Remplace via une regex les differentes colonnes (parcours l'ensemble des objets)
$result = $dump | foreach {
$portsrc = $_.ipsrc -replace [regex]\"([0-9]{1,3}\.){3}[0-9]{1,3}(\.)\",\"\"
$ipsrc = ($_.ipsrc -split [regex]\"([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\"«»)[1]
$portdest = $_.ipdest -replace [regex]\"([0-9]{1,3}\.){3}[0-9]{1,3}(\.)\", \"\"
$ipdest = ($_.ipdest -split [regex]\"([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\"«»)[1]
$_ | select @{n=\"ipsrc\";e={$ipsrc}},@{n=\"portsrc\";e={$portsrc}},@{n=\"ipdest\";e={$ipdest}},@{n=\"portdest\";e={$portdest}}
}

# écrit dans le résultat dans le fichier $newcontenu et ajoute entre l'ip dest/ source / port un ; (parcours l'ensemble des objets)
$result | foreach {
\"$($_.ipsrc);$($_.portsrc);$($_.ipdest);$($_.portdest)\"
} | Set-Content $newcontenu



# export en CSV sans doublons
$result| select ipsrc, portsrc, ipdest, portdest -Unique | export-csv C:\Users\\Documents\windumptest.csv \";\" -NoTypeInformation


[/code:1]<br><br>Message édité par: dimshell, à: 19/02/19 10:06

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

Plus d'informations
il y a 7 ans 3 mois #28186 par Sinjk
Réponse de Sinjk sur le sujet Re:Path Script Powershell
Hello,

Cette partie la me chiffone

'C:\windows\system32\Documents\testdump.txt'


Ton script tu le lances en admin ? si c'est le cas, le get-location résultera toujours par

C:\windows\system32

d'où le fait qu'il ne trouve pas une partie du chemin que tu as indiqué !

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

Plus d'informations
il y a 7 ans 3 mois #28187 par dimshell
Réponse de dimshell sur le sujet Re:Path Script Powershell
Merci pour ta réponse.

Je le lance depuis un utilisateur qui est admin du poste.

Mais quand je lances la commande seule j'ai bien c:\Users\mon_nom\Documents et dans la tâche planifié C:\windows\system32

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

Plus d'informations
il y a 7 ans 3 mois #28188 par Sinjk
Réponse de Sinjk sur le sujet Re:Path Script Powershell
Et dans la partie \&quot;Utiliser le compte utilisateur suivant pour exécuter cette tâche:\&quot;, quel utilisateur est selectionné ?<br><br>Message édité par: Sinjk, à: 14/02/19 13:10

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

Plus d'informations
il y a 7 ans 3 mois #28189 par dimshell
Réponse de dimshell sur le sujet Re:Path Script Powershell
C'est bien l'utilisateur.

Utiliser le compte utilisateur suivant pour exécuter cette tâche:

truc.truc

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

Plus d'informations
il y a 7 ans 3 mois #28190 par Sinjk
Réponse de Sinjk sur le sujet Re:Path Script Powershell
D'accord, et est-ce que le path est toujours sous le même schéma C:\Users\mon_nom\Documents ?

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

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