Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.048
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Das fallen mir Sachen ein, die deutlich dringender weg müssen .... dagegen ist die Registry ein Meisterstück.
  2. BOfH_666

    Windows Terminal 1.0

    ... es geht heute anscheinend Schlag auf Schlag ... https://devblogs.microsoft.com/commandline/windows-terminal-1-0/
  3. Wenn Microsoft so weitermacht, geht den ganzen Hardcore-Linuxern irgendwann die Munition aus ... https://devblogs.microsoft.com/commandline/windows-package-manager-preview/
  4. Ooops ... da ich nur noch sehr selten mit USB-Sticks arbeite, hab ich nur noch einen hier und da fällt das nicht auf. ... schau ich mir gleich mal an. Bitte keine Screenshots von Code oder Konsolen-Output oder so posten. Das ist häufig sehr schlecht zu lesen und wenn man davon etwas weiterverwenden wollte, müsste man es abtippen. Einfach den Text posten und auch als Code formatieren. Edit: So ... hab den Code oben angepasst ... so sollte es klappen.
  5. Ich würde auch eher VSCode empfehlen, auch weil Du, wenn Du eventuell mal mit Powershell 7 weitermachen willst, dann sowieso umsteigen müsstest. Wie wär's, wollen wir zusammen Deine Aufgabe mal in seine Einzelheiten zerlegen und so Dein Script eventuell ein bissl professioneller gestallten? Ich hab nicht wirklich alles verstanden, aber vielleicht fangen wir mit dem an, was ich verstanden habe. Wenn's um die Verbindung von physischem und logischem Laufwerk und Partition und Gerät und so weiter geht, mach ich mir auch jedesmal n' Knoten ins Hirn. Besonders, wenn's dann auch noch mit WMI losgeht. Die modernere Variante von WMI ist CIM - ist in der Beziehung aber auch nicht wirklich einfacher. Aber es gibt ja 's Internet. Dieser folgende Schnipsel besorgt uns schon mal die angeschlossenen USB-Datenträger mit Laufwerksbuchstaben, Beschreibung, Name und PNPDeviceID: Get-CimInstance -ClassName Win32_DiskDrive -Filter 'InterfaceType = "USB"' | ForEach-Object { $RAW = $_ Get-CimAssociatedInstance -ResultClassName Win32_DiskPartition -InputObject $_ | Get-CimAssociatedInstance -ResultClassName Win32_LogicalDisk | Select-Object -Property DeviceID, Description, VolumeName, @{Name = 'PNPDeviceID'; Expression = { $RAW.PNPDeviceID } } } So. jetzt bist Du wieder dran. Was willst Du damit machen?
  6. Ja ... aber wäre das nich supi, wenn so eine GPO eine einzelne Systemeinstellung wäre, die das eben für's ganze System regelt .... das meinte ich. Aber immer noch besser so, als irgendwelche einzelne INI- oder CFG-Dateien oder Registry-Hacks oder sowas.
  7. OK, Danke. Das bestätigt meine Erfahrung, dass es da leider keine systemweite Stelle gibt, wo man das konfigurieren kann .... hätt' ja doch sein können. ... is fast so schlimm, wie Standard-Browser setzen.
  8. Jaaaa ... das weiß ich doch alles schon ... wir benutzen ja ein PAC-File. Aber wir liefern es eben mit WPAD aus. Und da interessierte mich, wie Du die URL zum PAC auf den Clients konfigurierst. Bei Dir vermute ich als GPOs, richtig? Welche?
  9. Ich meinte eigentlich nicht, welche Möglichkeiten es gibt, sondern wie es bei dem einen oder anderen (oder dem oder anderen Kunden) in der Praxis gelebt wird.
  10. Und wie verteilst Du diese PAC normalerweise? (Ich hoffe, das kommt jetzt nicht irgendwie beleidigt oder schnippisch rüber ... ist ernst gemeint)
  11. Ich würde mal vermuten, dass fast niemand hier in so einem Forum, wirklich Erfahrung mit allen unterschiedlichen Platten haben kann. Auch wenn vermutlich jeder eine Meinung dazu hat, dürfte ein unabhängiger Tester vielleicht die bessere Quelle für Informationen sein. Die Redakteure der c't testen des Öfteren auch Festplatten und veröffentlichen diese Testergebnisse regelmäßig als "Plattenkarussel". Ich empfehle Dir, den letzten mit diesem Namen erschienen Artikel zu kaufen - ja, die kann man nachträglich einzeln kaufen - dann hast Du einen guten Überblick und findest vielleicht sogar noch eine bessere Option als bei diesem Händler, der evtl. (ich möchte niemandem etwas unterstellen) ein deutliches Eigeninteresse beim Verkauf dieser Platten hat.
  12. Wenn ich die Frage jetzt nicht falsch verstanden habe, brauchst Du auf den Clients überhaupt nix konfigurieren. Ein aktueller Windows-PC sucht sich die nötigen Einstellungen per WPAD. Du hinterlegst die nötigen Informationen in einem Script, welches Du auf einem Webserver verfügbar machst und zeigst mittels DNS darauf. So kannst Du jederzeit falls nötig die Einstellungen anpassen, ohne jedes mal wieder die Clients anzupassen.
  13. Jetzt werde ich aber doch unsicher. Siehst Du eigentlich meine Beiträge, oder werden die irgendwie geblockt?
  14. Sagst Du uns vielleicht trotzdem noch, warum es unbedingt WSH sein soll? Ich würde es gern verstehen.
  15. Ich bin neugierig - warum soll es denn unbedingt WSH sein, wenn ich fragen darf?
  16. Wenn man weder Kosten noch Mühen scheut, geht alles. Du könntest z.B. im Hintergrund einen Prozess laufen lassen, der auf Outlook zugreift und die von Dir gewünschten Bedingungen prüft und wenn diese erfüllt sind, die von Dir gewünschte Aktion starten. Outlook selbst, kann meines Wissens nur auf Outlook-interne "Resourcen" zugreifen.
  17. Wenn ich Dich richtig verstanden habe - mit eingebauten Mitteln soviel ich weiß nicht, nein.
  18. Bitte nicht immer wieder alles komplett zitieren! Was funktioniert nicht, welche Variablen sind leer? Bitte im Hinterkopf behalten: Wir können Deinen Bildschirm nicht sehen und auch Deine Gedanken (leider) nicht lesen.
  19. Noch ne Kleinigkeit: Wenn Du hier im Forum antwortest, musst Du nicht immer den kompletten Vor-Beitrag zitieren. Lösch doch bitte einfach alles aus dem Zitat raus, was nicht nötig ist ... im Zweifel das gesamte Zitat. Das macht Deine Antworten leichter lesbar. Danke schon mal.
  20. Hmmmm ... ich bin jetzt auch nicht der XML-Profi ... vielleicht kommt hier noch ein anderer Kollege und kann das lösen ... ich schau mir das später nochmal an .... Edit: Ich weiß schon, warum ich immer Kopfschmerzen kriege, wenn ich mich mit XML beschäftigen muss ... das ist einfach nicht Admin-Hirne gemacht ... ... aber wenn man dann erstmal wieder weiß, wie's geht, geht's wieder ne Weile. [XML]$a = get-content c:/hosts.xml $a.hosts.valueservers.valueserver.host $IPListe = $a.hosts.valueservers.valueserver.host.GetEnumerator().address foreach ($IP in $IPListe) { if (Test-Connection -ComputerName $IP -Count 1 -Quiet) { Write-Verbose "Information of $IP" $CS = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $IP $IP = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE –ComputerName $IP $OS = Get-WmiObject -Class win32_Operatingsystem -ComputerName $IP $Mon = Get-WmiObject -Class wmimonitorid -ComputerName $IP -Namespace root\wmi | ForEach-Object { ($_.SerialnumberID | foreach-object { [char]$_ }) -join '' } $BIOS = Get-WmiObject -Class Win32_BIOS -ComputerName $IP $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $IP) $regkey = $reg.OpenSubkey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") $prog = foreach ($SubKeyName in $regkey.GetSubKeyNames()) { $SubKey = $reg.OpenSubkey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$SubKeyName") $SubKey.GetValue("DisplayName") } [PSCustomObject]@{ ComputerName = $Cs.Name Model = $CS.Model SerialNumber = $BIOS.SerialNumber "Monitor Serial" = $Mon "OS Version" = $OS.caption "OS 32/64bit" = $OS.Osarchitecture IPAddress = $IP.IPAddress Gateway = $IP.DefaultGateway "NWcard index" = $IP.Index Framework = $prog } } } Ich weiß ja nicht, warum Du die ganzen UnInstall-Keys aus der Registry auslesen möchtest, aber es könnte sein, dass da deutlich mehr ausgelesen wird als Du erwartest. Auf einem normalen System kommt da gern mal Einiges zusammen. Und Du liest im Zweifel nur den 64- oder 32-bit-Schlüssel aus - je nach Zielsystem. Na dann probier mal, ob das so läuft. Und Ubrigens: Was benutzt Du als Code-Editor? Meine DRINGENDE Empfehlung wäre, VSCode und die ganzen Hilfen zu benutzen, die VSCode mitbringt. Das würde die Qualität und Lesbarkeit Deines Codes deutlich verbessern, denke ich.
  21. Du versuchst die XML mit dem Pfad c:/hosts.xml einzulesen ... funktioniert das? Ich würde nur zur Sicherheit einen Backslash benutzen. Und Deine XML ist falsch. Die Werte müssen in den Tags stehen, nicht in den Namen/Beschreibungen ... ich hab das mal angepasst und hier angehängt. Dann sollte es auch $PC sein und nicht $PC.Address. ... 'kannst Du dann so überprüfen ... foreach ($pc in $a.hosts.valueservers.valueserver.host){ "Adresse: '$($pc)'" } hosts.xml
  22. Was für eine ketzerische Frage .... !!! .... das ist keine Mühe, das ist ein Vergnügen!!! Was jetzt? Magst Du uns die XML zeigen oder stellst Du auf CSV um oder noch ganz was anderes? Du kannst die Registry auch remote abfragen. Dafür musst Du dann aber Invoke-Command benutzen, weil Get-ItemProperty selbst nicht remoting-fähig ist.
  23. Ich leiste mir den Luxus Windows 7 und Powershell vor Version 5.1 nicht mehr zu supporten. Ohne Deine XML-Datei zu sehen, können wir dazu schwerlich was Intelligentes beitragen. Eine CSV-Datei wäre aber vermutlich deutlich einfacher zu handhaben. Diese Zeile fragt den lokalen PC ab, auf dem das Script läuft ... und das wieder und wieder bei jedem Schleifendurchlauf.
  24. Ach Gottchen .... Du Ärmster ... ich werde Dich in meine Abend-Gebete einschließen.
×
×
  • Neu erstellen...