Jump to content
Melde dich an, um diesem Inhalt zu folgen  

Powershell Typkonvertierung

Empfohlene Beiträge

Halli Hallo,

ich habe in meiner Firma ein kleines Script geschrieben, welches bei 127 Clients nach einer lokalen Datenbank sucht und mir alle Clients, wo die Datenbank >2 GB ist per Mail zuschickt.

Funktioniert auch super, nur mit einer kleinen Einschränkung

Einer von den 127 Clients bringt jedesmal einen Fehler, dass er den Typ "System.Object" nicht in "System.Double" konvertieren kann (siehe Fehlermeldung) und somit wir dieser Client  auch nicht untersucht.

Fehler:

Der Wert "System.Object[]" vom Typ "System.Object[]" kann nicht in den Typ "System.Double" konvertiert werden.
Bei C:\Users\xxxxxxxx\Desktop\test.ps1:26 Zeichen:21
+         if([double]$object <<<<  = Get-ChildItem  $pfad -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*$dateiname*"} |  select-object -expandproperty length )
    + CategoryInfo          : MetadataError: (:) [], ArgumentTransformationMetadataException
    + FullyQualifiedErrorId : RuntimeException

Wie die Fehlermeldung schon sagt liegt der Fehler in Zeile 26, hier noch der original Codeauschnitt:

if([double]$object = Get-ChildItem  $pfad -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*$dateiname*"} |  select-object -expandproperty length ) 

Könnt ihr mir helfen und mir sagen wieso das bei 126 Clients klappt und bei genau einem nicht?:D

Danke im Voraus

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Gast Uhu

Das scheint kein rein syntaktisches Problem zu sein, sonst würden die Anderen Clients die gleiche Fehlermeldung liefern. Es liegt also die Vermutung nahe, dass bei diesem einen Client das gelieferte Objekt ein Anderes Objekt ist als du erwartest und welches eben nicht ohne weiteres explizit in Double konvertiert werden kann. Mir ist jetzt nicht wirklich klar, wie du per Powershell die Clients untersuchst (PowershellRemote? RemoteExecution?) - ich tippe daher einfach mal, dass auf deinem Ziel Client eine Andere Powershell Version installiert ist als auf den übrigen Clients, wo Get-Childitem dir noch einen ganz anderen Objekt-Typ liefert als in Anderen Powershell Versionen. Untersuch mal das Objekt genauer, was dir mit Get-Childitem auf diesem Client geliefert wird ohne es direkt in double zu konvertieren und vergleich das mal mit den gelieferten Objekten der Anderen Clients.

bearbeitet von Uhu

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Problem gefunden, danke das du mich auf ne Idee gebracht hast.

Hab mir die Größe einfach mal ohne Typkonvertierung anzeigen lassen... hier das Ergebnis:

ProblemPC:

Length : 1103298560


Length : 631439360

VergleichsPC:

Length : 1103298560
 

Der Client gibt mir 2 Werte zurück. Hab mir den Client angeguckt und in dem Ordner den ich untersuche habe ich einen Backupordner gefunden, wo eine andere mdf-Datei mit dem selbem Namen liegt.

 

Vielen Dank für deine Hilfe :)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Nimm an der Diskussion teil

Du kannst jetzt hier posten und Dich später registrieren. Wenn Du bereits über eine Konto verfügst, melde Dich jetzt an, um mit Deinem Konto zu posten.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Melde dich an, um diesem Inhalt zu folgen  

Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung