Jump to content

Powershell Liste mit PC und Bezeichnung


Recommended Posts

So, da ja offensichtlich hier hauptsächlich PS Experten sitzen, stelle ich doch mal eine Powershell Frage. Ich versuche über Powershell eine Liste mit allen Rechnern zu erstellen an denen Windows 10 Enterprise installiert ist, es sollen die Namen der PCs und die Spalte Bezeichnung ausgegeben werden. Der Ausdruck Get-ADComputer -Filter "OperatingSystem -like '*Windows 10 Enterprise*'" | select DNSHostName , Description  funktioniert nicht, hat jemand ne Idee?

 

lg

 

 

Stefan

Link to post

 

 

vor 38 Minuten schrieb stefan4711:

funktioniert nicht

 

Ist leider nicht sehr hilfreich. Beschreibe doch nächstes Mal bitte etwas genauer, was genau nicht funktioniert. Solltest Du Fehlermeldungen erhalten, sollten diese auch dringend mit gepostet werden. ;-) 

 

Ich  rate mal und sage, dass Deine Ausgabe zwar die DNS-Namen enthält aber keine Beschreibung, richtig? Die Ausgabe, die Get-ADComputer in der Standard-Einstellung zurückliefert, enthält nur einen Teil der möglichen AD-Attribute. Wenn Du Attribute haben möchtest, die nicht zu diesem Standard-Set gehören, musst Du diese explizit mit dem Parameter -Properties und den entsprechenden Werten (Attributen) anfordern.

 

Get-ADComputer -Filter "OperatingSystem -like '*Windows 10 Enterprise*'" -Properties Description | 
    Select-Object -Property DNSHostName , Description

 

.... sollte also die (vermutete) gewünschte Ausgabe liefern.

 

In aller Regel ist es sehr hilfreich, sich die Hilfe zu den cmdlets durchzulesen, die man benutzen möchte. Man sollte sich diese Hilfe auch immer bis zum Ende durchlesen - auch wenn man meint, das Gesuchte bereits gefunden zu haben. In diesem Fall steht im fast letzten Abschnitt "Output" die hierfür entscheidende Information.

 

Und wie Du sehen kannst, liest sich der Code auch viel leichter, wenn man ihn auch als Code formatiert. ;-);-) 

 

 

Edited by BOfH_666
  • Like 1
Link to post
vor 49 Minuten schrieb stefan4711:

achso, sorry, mein Fehler, es kommt nur die Spalte mit den Rechnernamen und nicht die Spalte mit den Bezeichnungen

 

Hast Du auch den Rest meiner Antwort gelesen? Oder nur die ersten drei Sätze?  :hmmm:

  • Haha 1
Link to post

klar habe ich, funktioniert ja jetzt auch, wenn man aber nun noch eine zusätzliche Spalte haben möchet mit Operating System haben möchte, zB so :Get-ADComputer -Filter "OperatingSystem -like '*Windows 10 Enterprise*'" -Properties Description | Select-Object -Property DNSHostName , OperatingSystem , Description

 

dann wirds wieder schwierig

 

lg und schönes Wochenende

und danke noch ma

 

stefan

Bevor jetz die Antwort kommt, na ja Du hast ja schon nach Windows Enterprise gefiltert, ja aber es gibt ja mehere, zb auch enterprise ltsc. Mit würde es auch genügen eine Liste zu erhalten mit allen Rechnern, un dden spalten OS sowie Bezeichnung, dies nur zur Ergänzung. Die Hilfe hilft da auch nur rudimentär.

Link to post

Moin,

alles, was Du mit Select-Object auswählen möchtest und was keine Standard-Property ist, musst Du natürlich zuerst in Get-ADComputer zu den -Properties hinzufügen, damit das auch aus dem AD geholt wird ;-) 

Link to post
vor 1 Stunde schrieb stefan4711:

Bevor jetz die Antwort kommt, na ja Du hast ja schon

 

Persönlich hätte mich ja vielmehr gefreut, wenn Du Deinen Code auch als Code formatiert hättest.

 

vor 1 Stunde schrieb stefan4711:

Die Hilfe hilft da auch nur rudimentär.

 

Naja, Du darfst natürlich Dein Gehirn auch ein bissl anstrengen und das ein oder andere selbst austüfteln und probieren und Du darfst auch noch weitere Quellen in Internet anzapfen oder Bücher lesen und Du kannst ja auch noch hier weitere Fragen stellen. Anders machen wir das alle auch nicht.  Wir haben nur schon früher angefangen als Du.  ;-) 

 

vor 1 Stunde schrieb stefan4711:

dann wirds wieder schwierig

 

Wenn man solide Kentnisse der Grundlagen von PowerShell hat, kommt das ganz ganz selten vor. ;-) 

Edited by BOfH_666
Link to post
Zitat

Naja, Du darfst natürlich Dein Gehirn auch ein bissl anstrengen

ich habe es ja versucht, da mit Logik ranzugehen und den Befehl entsprechend nach dem gleichen Schema zu ergänzen, aber da kommt man bei Powershell eben nicht weiter, es sei denn man hat natürlich jahrelang gesammelte Kenntnisse in Powershell.  Es ist natürlich immer schön auf Leuten rumzuhacken, die in der MAterie noch nicht so firm sind, das scheint ja eine diebische Freude zu bereiten, was ich persönlich nicht so nachvollziehen kann, aber ich kann auch gönnen. Trotzdem bedanke ich mich herzlichst für die versuchte Hilfestellung.

 

Was mich viel mehr beunruhigt, ist die Tatsache, dass die  Egebnisse mit dieswm Cmdlet anscheinend nicht stimmig sind. Beispielsweise weiss ich 100 prozentig, dass ein Kollege von mir pro auf seinem Rechner hat, da ich es selber installiert habe, und dieser Rechner wird mit Enterprise ausgegeben, schon komisch. Na möglicheweise hat der Kollege es ja neu installiert, werde ich am Montag überprüfen, bevor ich was faslches sage.

 

 

lg und schönes WE noch

 

Stefan

  • Like 1
Link to post

Moin,

 

diese mögliche Unstimmigkeit kannst du direkt im AD prüfen, indem du dir die Eigenschaften des betreffenden Computerkontos ansiehst. Das Cmdlet fragt diese ab und fragt nicht das Zielgerät, du musst also nicht auf deinen Kollegen warten.

 

Was deine erste Reaktion anbelangt - ich verstehe, was du meinst, aber ich bin mir sicher, dass dich hier niemand in die Pfanne hauen wollte. Ich denke, das ist ein Missverständnis.

 

Gruß, Nils

 

Link to post
vor 32 Minuten schrieb stefan4711:

Was mich viel mehr beunruhigt, ist die Tatsache, dass die  Egebnisse mit dieswm Cmdlet anscheinend nicht stimmig sind.

Du ziehst doch Daten aus dem AD. In diesem kannst Du ja auch mit den GUI-Tools nachschauen, welche Werte bei welchen Objekten in welchen Attributen stehen. Das AD weiß übrigens nicht, welches Betriebssystem auf dem Rechner Deines Kollegen jetzt installiert ist. Dort steht nur, welches Betriebssystem unter diesem Namen dem AD beigetreten ist.

 

Wenn das Cmdlet andere Werte liefert als dsa.msc., dann sind die Ergebnisse nicht stimmig. 

Link to post
vor 32 Minuten schrieb stefan4711:

ich habe es ja versucht, da mit Logik ranzugehen und den Befehl entsprechend nach dem gleichen Schema zu ergänzen, aber da kommt man bei Powershell eben nicht weiter, es sei denn man hat natürlich jahrelang gesammelte Kenntnisse in Powershell.  Es ist natürlich immer schön auf Leuten rumzuhacken, die in der MAterie noch nicht so firm sind,

 

Niemand hackt auf Dir rum und niemand erwartet von Dir, den gleichen Kenntnisstand zu haben, wie Leute, die 20 Jahre Erfahrung haben. Deshalb kommen wir alle hier her und versuchen zu helfen. Da gehört dann aber auch dazu, dass der Hilfesuchende ein wenig mitmacht und eventuell versucht, auch selbst etwas rauszufinden.

 

Wenn Du mit irgendetwas nicht weiterkommst, werden wir die Letzten sein, die Dir dabei nicht helfen.

Link to post
Posted (edited)

@Bof: das war ja nur mit nem Augenzwinkern gemeint; ;)

 

@all: aber ja ich werde gleich mal in der GUI schauen bei dem entsprechenden Rechner, auch wenn es mich wundern würde, wenn da was anderes steht.

Danke noch mal an alle,

 

So habe eben nachgeschaut, und Tatsache, es steht im OS Feld Enterprise (nicht Bezeichnung). Da ich diesen per Image aufgesetzt habe weiß ich genau dass dort Pro drauf ist. Ich kann mir nicht vorstellen, dass der Kollege, obwohl bei uns kein Enterprise mehr installiert werden soll, nachträglich dieses installiert hat. So schön diese PS Lösung auch ist, im Gegensatz zu Batchlösungen, bringt natürlich nichts wenn am Ende Kokolores rauskommt.

 

Um zu zeigen, dass ich ansatzweise auch mal mein Gehirn benutze, stelle ich mir nun die Frage, und werfe diese gleich mal in die Runde: Gibt es Einstellungen an den Clients, die die korrekte Übermittlung des OS verhindern könnten?

 

lg

 

Stefan

Edited by stefan4711
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...