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

Frage Entwicklung Batch & Shell

Mitglied: Andy-M

Andy-M (Level 1) - Jetzt verbinden

24.03.2010 um 08:58 Uhr, 5126 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
Entwicklung
Powershell liefert -1 zurück
Frage von H41mSh1C0REntwicklung2 Kommentare

Hi@All, um die RSAT auf den Windows 8.1 Clients auszurollen wird im verteilten Paket folgender PS Befehl abgesetzt. Die ...

Apache Server
Apache2 als Reverse Proxy liefert die falsche Seite zurück
Frage von liquidbaseApache Server

Hallo alle miteinander! Ich habe hier ein etwas merkwürdiges Problem mit einem Apache2 der als Reverse Proxy fungiert. Zuerst ...

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 ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 4 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 11 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 13 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 16 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...