Question script qui fonctionne seulement en mode intéractif

Plus d'informations
il y a 13 ans 7 mois #12484 par Matthew BETTON
oups, désolé, j'ai mal testé...

Donc effectivement, cela doit fonctionner par les 2 méthodes :)

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

Plus d'informations
il y a 13 ans 7 mois #12485 par Matthew BETTON
Je viens de tester les 2 méthodes, en remplacat Get-MD5 (que je n'ai pas, à moins que ce ne soit la fonction partagée par benduru) par la Cmdlet Get-Hash, des PowerShell Communty Extension (Pscx). Les 2 méthodes fonctionnent :

[code:1]Get-ChildItem $Path -Recurse -Force | Where-Object {$_.Length -gt 0}| Select-Object @{Name=\"Id\";Expression={\"\"}},Name,Directory,Extension,Length,CreationTime,LastWriteTime,FullName,@{Name=\"Hash\";Expression={Get-Hash $_.FullName}} | export-csv -Path $Csv -encoding \"UTF8\" -notype[/code:1]

[code:1]Get-ChildItem $Path -Recurse -Force | Where-Object {$_.Length -gt 0}| Select-Object Id,Name,Directory,Extension,Length,CreaztionTime,LastWriteTime,FullName,Hash | %{$_.Id='';$_.Hash=Get-hash $_.FullName;$_} | export-csv -Path $Csv -encoding \"UTF8\" -notype[/code:1]

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

Plus d'informations
il y a 13 ans 7 mois #12486 par rocchietta
voici le code de la procédure

function Get-MD5($file)
{
$cryptoServiceProvider = [System.Security.CryptoServiceProvider];
$hashalgorithm = new-object $cryptoserviceprovider
$stream=[System.IO.File]::Oµpen($file,\"open\",\"read\",\"ReadWrite\");
$hashByteArray = $hashalgorithm.ComputeHash($stream);
$stream.Dispose();
return [String]$hashByteArray;
}

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

Plus d'informations
il y a 13 ans 7 mois #12487 par rocchietta
Matthew BETTON écrit:

Je viens de tester les 2 méthodes, .... Les 2 méthodes fonctionnent


As-tu fait le test en lançant le script en mode interactif puis avec powershell.exe ?

Mon script fonctionne en interactif mais pas en le lançant avec powershell.exe ;)<br><br>Message édité par: kortex, à: 8/08/12 12:06

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

Plus d'informations
il y a 13 ans 7 mois #12488 par Laurent Dardenne
kortex écrit:

As-tu fait le test en lançant le script en mode interactif puis avec powershell.exe ?

De mon côté oui, les 2 approches fonctionnent. Ensuite cela dépend de ce que tu entends par \&quot;avec Powershell.exe\&quot; ?

Sinon il faut modifier ta fonction :
[code:1]
function Get-MD5($file)
{
$hashalgorithm = new-object System.Security.Cryptography.MD5CryptoServiceProvider
...
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 7 mois #12490 par rocchietta
Lorsque mon script de cette manière (mode interactif) :

[quote
c:\&gt;powershell
PS c:\&gt;.\monscript.ps1
[/quote]

cela fonctionne.

Lorsque je le lance de cette manière :

c:\&gt;powershell.exe monscript.ps1


j'obtiens une erreur

ForEach-Object : impossible d'indexer dans un objet de type System.Collection.ArrayList.


Quelle(s) différence(s) fondamentale(s) expliquerait(aient) que le code fonctionne dans un cas et pas pour l'autre :(

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

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