Powershell für Excel aufgaben verwenden?
-
23 Şubat 2012 Perşembe 10:20
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] $_ + ","}
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 10:23
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 11:24
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 12:58
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 12:59
Tüm Yanıtlar
-
23 Şubat 2012 Perşembe 13:13
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 --
-
23 Şubat 2012 Perşembe 13:30
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)}
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 13:41
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 13:42
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 13:53
- Düzenleyen King Julien 23 Şubat 2012 Perşembe 13:54
-
23 Şubat 2012 Perşembe 14:01
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 --
- Yanıt Olarak Öneren Alex PituliceMicrosoft Contingent Staff, Owner 29 Şubat 2012 Çarşamba 09:30
- Yanıt Olarak İşaretleyen Alex PituliceMicrosoft Contingent Staff, Owner 01 Mart 2012 Perşembe 09:17
-
27 Şubat 2012 Pazartesi 11:14Moderatör
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".- Düzenleyen Denniver ReiningMVP, Moderator 27 Şubat 2012 Pazartesi 11:15
-
01 Mart 2012 Perşembe 09:22Sahip
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,
AlexAlex 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.