none
Powershell für Excel aufgaben verwenden?

    Frage

  • Hallo zusammen,

    Folgende Ausgangslage:

    Eine Excel-Datei mit einer Spalte von Computernamen z.B C50200 - C52500.

    Leider fehlen bei dieser Spalte teilweise gewisse Computer und diese würde ich jetzt gerne ermitteln.

    Lässt sich das ganze via Powershell lösen? Welche Cmdlet müsste ich dafür verwenden?

    Ich habe mal die Spalte mit den Computernamen in ein .CSV File kopiert und werde mal ein bisschen rumprobieren.

    Danke euch wieder einmal.

    Gruss

    Powershell Junior

    -----------------------------------------------------

    Bin leider noch nicht weitergekommen, Ideen zur Umsetzung hätte ich aber ...

    Vorschlag:

    Format der des Computernamens: C50000-C70000

    Ein Zähler welcher von 50000-70000 hochzählt, bei welchem ich immer ein C vorne anhänge.

    Dieser String wird dann mit der Spalte abgeglichen ob vorhanden, falls nicht, wird es ihn ein File geschrieben ...

    ------------------------------------------------------------------------------------------------------------------------------------------

    Habe mal halbwegs was zusammen bekommen, womit ich die CSV-Datei durchsuchen kann ... :/

    $a = "C"

    50000..60000 | foreach  {$b += [string] $a + [string] $_ + ","}





    • Bearbeitet King Julien Donnerstag, 23. Februar 2012 12:59
    Donnerstag, 23. Februar 2012 10:20

Antworten

Alle Antworten

  • Hallo,

    ich nehme mal an, dass Du im Prinzip einen Abgleich durchführen möchtest, welche Rechner im Active Directory existieren und nicht im Excelsheet vorhanden sind.

    Aufbau CSV:

    computer,beschreibung
    C50000,Labor
    C50002,Buchhaltung

    $arrComputers = @()
    import-csv deinecsv.csv | %{$arrComputers += $_.computer}
    get-adcomputer -filter "samAccountName -like 'C*'" | ft $_.name,@{label="Existiert";Expression={$arrTest -contains $_.name}}

    Überall wo Du True siehst, ist der Name im AD und in der CSV vorhanden.

    Viele Grüße

    Frank


    -- Frank Röder blog.iteach-online.de --

    Donnerstag, 23. Februar 2012 13:13
  • Danke dir Frank für deine Antwort.

    Leider hat es überhaupt nichts zu tun und ich muss "lediglich" eine Liste mit ca. 2000 Computern (C50000-C52000) abgleichen, ob es gewisse Computer gibt die nicht aufgeführt sind. Alle diese Computer sind im Umlauf, aber hätten dann kein Netzwerkzugriff.

    $a = "C"50000..60000 | foreach  {$b += [string] $a + [string] $_}
    Jetzt muss ich nur noch einen Weg finden, diese Computer in dem String mit demjenigen der .csv Datei abzugleichen.

    Danke dir aber trotzdem & Gruss

    Powershell Junior

    ----------------------------------------------------------------------------------------------------------------------

    PS C:\Users\testd> 50000..60000 | foreach  {$b = [string] $a + [string] $_; $b.CompareTo($c)}
    Ich komme langsam immer näher ... :)

    -----------------------------------------------------------------------------------------------------------------------

    $a = "P"
    $c = Get-Content H:\Desktop\Computer_91xxx.csv; $d = -join $c
    91000..91371 | foreach  {$b = [string] $a + [string] $_; $b.compareTo($d)}





    • Bearbeitet King Julien Donnerstag, 23. Februar 2012 13:54
    Donnerstag, 23. Februar 2012 13:30
  • Hallo,

    $arrComputers = @()
    import-csv deinecsv.csv | %{$arrComputers += $_.computer}
    50000..52000 | %{$arrTest -contains $("C" + $_)}
    

    Schick machen musst Du das allein:-)

    Viele Grüße

    Frank


    -- Frank Röder blog.iteach-online.de --

    Donnerstag, 23. Februar 2012 14:01
  • Konntest du mit Franks Hilfe deine Aufgabe lösen? Dann markiere bitte seinen Beitrag als Antwort (unter dem Beitrag auf "Als Antwort markieren" klicken). Mach das bitte auch bei deinem anderen Thread "Powershell für Excel aufgaben verwenden" weiter unten. Danke.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".


    Montag, 27. Februar 2012 11:14
    Moderator
  • Hallo Powershell Junior,

    Wir gehen davon aus, dass die Antwort Dir weitergeholfen hat.
    Wenn ja, wäre es hilfreich wenn Du diese Lösung bestätigen würdest, sodass andere Leute von derselben Situation profitieren können.
    Wenn nein, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.

    Danke und viele Grüße,
    Alex


    Alex Pitulice, MICROSOFT 
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 1. März 2012 09:22
    Besitzer