Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell liefert statt Arrayinhalt immer den aktuellen Pfad und den Arrayinhalt zurück

Mitglied: Andy-M

Andy-M (Level 1) - Jetzt verbinden

24.03.2010 um 08:58 Uhr, 5172 Aufrufe, 1 Kommentar

Hallo zusammen,

ich beschäftige mich gerade ein wenig mit der Powershell. Nachdem ich mich in die Grundlagen eingearbeitet habe möchte ich jetzt ein kleines Beispielskript schreiben.
Mein Kollege hat mich auf die Idee gebracht ein Script zu schreiben, dass aus der Registry ausliest, ob die Speed&Duplex-Einstellung der Netzwerkkarte auf "Auto" steht oder nicht.

Mit folgendem Code kann ich das ganze auch für meinen Rechner passend abfragen:
01.
$lanspeed = Get-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0008" -name RequestedMediaType
02.
if ($lanspeed.RequestedMediaType -eq 0)
03.
   {"Autonegotiation ist aktiviert."}
Jetzt möchte ich die Abfrage gern etwas Allgemeiner halten, dazu soll folgender Code dienen:
01.
$substrings = get-childitem 'HKLM:\System\Currentcontrolset\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}'
02.
$substrings | Foreach-Object {Get-Itemproperty $_}
Was ich mir eigentlich als Ausgabe wünschen würde wäre eine Liste der Werte der Subkeys von {4D36E972-...}. Daraus könnte man dann abfragen ob es das Attribut "RequestedMediaType" (für Broadcom-Karten) oder "SpeedDuplex" (für Intel-Karten) gibt und welche Werte dort gesetzt sind.
Leider bekomme ich jedoch als Ausgabe immer folgendes: "Aktuelles Arbeitsverzeichnis\Arrayinhalt" also zB: C:\HKLM\System\und\so\weiter

Hier noch beispielhaft die Fehlermeldung:
01.
Get-ItemProperty : Der Pfad "C:\temp\powershell\duplex\HKEY_LOCAL_MACHINE\Syste
02.
m\Currentcontrolset\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0000" 
03.
kann nicht gefunden werden, da er nicht vorhanden ist.
04.
Bei C:\temp\powershell\duplex\speed.ps1:2 Zeichen:47
05.
+ $substrings | Foreach-Object {Get-Itemproperty  <<<< $_}
Dieser Fehler taucht dann für alle Objekte unterhalb von HKLM:\...{4D36E972-...} auf.
Die Fehlermeldung ist klar, den Pfad gibt es tatsächlich nicht. Wenn ich mir aber nur das Array ausgeben lasse, dass gibt er mir den Pfad richtig zurück.

Ich hoffe mir kann jemand einen Tipp geben wo ich den Fehler gemacht habe, bzw. wie ich ihn lösen kann. Eine ausgiebige Googlesuche hat leider zu keiner Erleuchtung geführt.

Viele Grüße

Andy
Mitglied: Andy-M
25.03.2010 um 13:46 Uhr
Ich konnte das Problem inzwischen selbst lösen indem ich direkt auf den PSPath zugreife.
Das komplette Skript funktioniet jetzt. Allerdings nur für Broadcom- und Intel-Netzwerkkarten.
Ich habe das Skript dann noch ein wenig umgebaut, dass es jetzt folgendermaßen aussieht:

01.
$path = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}'
02.
$subpath = Get-ChildItem $path
03.
$values = $subpath | ForEach-Object {Get-Itemproperty $_.pspath} | where-object {$_.RequestedMediaType -ne $null -or $_.SpeedDuplex -ne $null}
04.
$values | ForEach-Object {if ($_.requestedmediatype -eq 0 -or $_.speedduplex -eq 0 ) {write-host $_.driverdesc ist auf Auto eingestellt.} else {write-host $_.driverdesc ist NICHT auf Auto eingestellt}}
05.
Start-Sleep -s 10
Viele Grüße

Andy
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Pfad überprüfen
gelöst Frage von H41mSh1C0RBatch & Shell11 Kommentare

Hi @ PS Profis, Irgendwie seh ich den Wald vor lauter Bäumen nicht. (oder es ist einfach Zeit für ...

VB for Applications

File.DateCreated liefert Erstelldatum des Verzeichnisses statt der Datei

gelöst Frage von spinnifexVB for Applications4 Kommentare

Hallo liebe Admins, ich lese per VBA die Liste der Dateien eines Verzeichnisses ein. Gebraucht werden Dateiname.ext und Erstelldatum. ...

Batch & Shell

Powershell: Variable in Pfad einbauen

gelöst Frage von ThunderbirdOPBatch & Shell2 Kommentare

Hallo Leute, ich würde gerne eine Variable in einen Pfad einsetzen, bekomme aber immer den Fehler zurück, dass der ...

Visual Studio

PowerShell statt VB.NET für kleinere Tools

gelöst Frage von BowsetteVisual Studio4 Kommentare

Hallo, ich schreibe hin und wieder mal ganz kleine Tools für sowohl persönliche Zwecke als auch zur Erleichterung meiner ...

Neue Wissensbeiträge
Rechtliche Fragen
Unitymedia siegt vor dem BGH
Information von transocean vor 6 StundenRechtliche Fragen3 Kommentare

Moin, lt. einem aktuellen Urteil darf UM Mietrouter seiner Kunden weiterhin in Hotspots verwandeln. Nachlesen kann man das hier. ...

Router & Routing
Der "768k-Day" kommt
Information von LordGurke vor 1 TagRouter & Routing2 Kommentare

Für Leute, die Router mit BGP-Fulltable betreiben vielleicht ein interessanter Hinweis: Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 ...

Debian

Partition angeblich voll, dabei aber noch nicht mal zur Hälfte belegt

Anleitung von diemilz vor 1 TagDebian8 Kommentare

Hallo zusammen, ich habe ein kleines Problem: Ich habe auf einem physischen Debian Linux Server als ZoneMinder-Server (HP ProLiant ...

Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 6 TagenWindows 73 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Heiß diskutierte Inhalte
HTML
Bild hochladen mit html auf die Webseite
gelöst Frage von WorldoftheitHTML63 Kommentare

Will eine Seite entwickeln im Internet aber Das Bild wird nicht angezeigt woran kann das liegen? Wäre für jede ...

Vmware
Terminalserver VM - Videos ruckeln
Frage von easyriderVmware29 Kommentare

Hallo zusammen, wir haben einen (free) ESXi 5.5 auf einem HP DL 380 G8 im Einsatz. Darauf läuft, unter ...

Festplatten, SSD, Raid
Harddisk kaputt, was sagt mir ChrystalDiskInfo
gelöst Frage von InfoSeekerFestplatten, SSD, Raid23 Kommentare

Hallo zusammen, Mein Rechner lahmt. Ich stell mir die Frage woran es liegt und bin der Meinung es ist ...

Backup
Veeam Community Edition
gelöst Frage von dgrebnerBackup23 Kommentare

Hallo Zusammen, kann jemand seine praktischen Erfahrungswerte mit der Veeam-Community Edition mit mir teilen? Es gab dazu ja schon ...