Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Variablen oder Dateien nach Inhalt Vergleichen Powershell

Frage Entwicklung Batch & Shell

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

02.12.2013 um 15:52 Uhr, 7709 Aufrufe, 7 Kommentare

Hallo Zusammen

Nehmen wir an ich habe 2 Dateien und lade diese in jeweils in eine Variable.

$var1

NBAPS100
NBAPS101
NBAPS102
NBAPS103
NBAPs104

$var2
NBAPS99
NBAPS100
NBAPS101
NBAPS102
NBAPS103
NBAPS104
NBAPS105


Wir kriege ich die NBAPS99 als ergebniss?

Ein Möglichkeit über Dateien würde auch gehen

Danke und grüße
Roman

Mitglied: colinardo
02.12.2013, aktualisiert um 16:04 Uhr
01.
compare -ReferenceObject $var1 -DifferenceObject $var2
und nun lese mal endlich, anstatt hier andauernd solche Grundlagenfragen zu stellen:
Bitte warten ..
Mitglied: ITvortex
02.12.2013 um 16:41 Uhr
Ich hätte ja gesagt if(...) *gg*

;)

lg ITvortex
Bitte warten ..
Mitglied: Dpole86
02.12.2013 um 17:18 Uhr
tut mir leid aber das ist für mich nicht grundlage

Ich habe eine Excel mit 2 Spalten und eine Excel mit 3 Spalten wobei die ersten Spalten verglichen werden sollen.

Je nach miserfolg soll dann aber von der dazugehörigen excel die Zeit im Dokument genommen werden.

Das alles sollte dann in eine neue Excel exportiert werden.

also wenn das Grundlage ist dann bin ich wohl im Falschen film^^
Bitte warten ..
Mitglied: colinardo
02.12.2013, aktualisiert um 18:48 Uhr
[OT]
Folgendes muss ich jetzt mal loswerden, da spreche ich einigen Leuten hier aus der Seele, die mich auch schon deswegen angeschrieben warum ich so viel Geduld mit dir habe:

Wir helfen hier gerne auch puren Anfängern(jeder fängt mal an), aber deine Posts sind vielfach so aus dem Kontext gegriffen und beinhalten viel zu wenig Hintergrund-Informationen zu deinen Vorhaben, so dass dir hier kaum einer Antworten möchte. Du bist vielleicht bei deinem Projekt im Bilde, wir hier aber eben nicht!
An der Rechtschreibung sieht man schon, wie viel Mühe du dir gibst uns dein Problem zu erläutern. Wenn du noch nicht mal dafür etwas Mühe aufbringst, und von uns dann hellseherische Fähigkeiten erwartest, bist du hier am falschen Platz. Außerdem lebt solch ein Forum vom Geben und Nehmen, wenn du dann wie in folgendem Post noch nicht mal die Zeit investierst (oder dich traust) deine Lösung in den Post zu schreiben, tust du mir leid ..
Diesen Thread brauche ich ja nun nicht erneut erwähnen, das war das dreisteste was ich je erlebt habe ...
[/OT]
Amen

ch habe eine Excel mit 2 Spalten und eine Excel mit 3 Spalten wobei die ersten Spalten verglichen werden sollen.
Von Excel war in deinem Post z.B Eingangs überhaupt keine Rede ...nur von Powershell.
Wie man von Powershell auf Excel-Dokumente via COM-Object zugreifst kannst du hier nachlesen.
Jetzt wäre die Gelegenheit, uns mal so aufzuklären das jeder versteht was du nun ganz genau mit Powershell und Excel vorhast, denn so wie du dies geschrieben hast versteht das hier keiner genau. Wir haben hier jede Menge Formatierungsmöglichkeiten im Forum womit sich das schön klar darstellen lässt.
Bitte warten ..
Mitglied: Dpole86
02.12.2013 um 19:26 Uhr
Hi Colinardo

Ich habe ja nix gegen kritik somit danke das du einfach mal sagst was sache ist.
Also in dem EnergiePosting habe ich geschrieben das mir jemand eine PN schreiben soll, weil ich ein 3 Seitiges Word dokument gemacht habe,
Dieses kann ich gerne der Person schicken die es möchte aber ins Forum posten kann ich es nicht da es Farblich keinen sinn mehr ergeben würde.

Zu meiner Rechtschreibung. Ich bin leider legasteniker. deswegen auch die "seltene" Rechtschreibschwäche.

Ja der Post der war dreist, tut mir auch leid, aber die unterstellung das ich nicht gesucht hätte hat mich aufgeregt.


und nun zum eigentlich Problem.

Ich glaube das ich entweder viel zu komplizerit denke oder es nicht machbar ist.

erinnerst du dich an den code?

01.
  
02.
$csv = Import-CSV "C:\Users\admrd\Desktop\test\bat\test.csv" -Delimiter "," $csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort Client,Date,Time -Descending | group Client | %{$_.Group[0]} $rsync_result=$csV 
03.
$csv = Import-CSV "C:\Users\admrd\Desktop\test\bat\test.csv" -Delimiter ","   
04.
$csv | ?{(get-date $_.Date) -gt (get-date).AddDays(-7)} | sort Client,Date,Time -Descending | group Client | %{$_.Group[0]}   
05.
$rsync_result=$csv


damit bekomme ich ja heraus welche rechner sich in den letzten tagen gemeldet haben.

Ich muss aber rausbekommen, welche Rechner sich nicht in den letzten tagen gemeldet haben.

Und ganz erlich ich habe mir schon gedanken darüber gemacht deswegen auch die ganzen ansätze. Allerdings komm ich mir jeder Lösung immer wieder zu einer Sackgasse.

Ich habe auch versucht das AD auszulesen nach den Computernamen und diese in eine Variable zu speichern. Ich komm schon bei der Verbindund irgendwie nicht weiter.
Diese WVariable hätte ich dann verglichen mit den Daten aus der CSV... nur weis ich dann nicht wie ich das Datum mit rein bekomme, was aber gar nicht geht.

Keine ahnugn wie das alles gehen soll.
Bitte warten ..
Mitglied: colinardo
02.12.2013, aktualisiert um 20:20 Uhr
Das war doch mal eine klare Aussage.
Also hier an einem Beispiel erläutert:
Die Variable $clientliste sei jetzt mal unsere Liste in der alle Client-Rechner die Ihr habt, aufgeführt sind.
Die Variable $clientlog wäre hier nun unsere Liste mit den Log-Einträgen.
Habe beide Variablen in dem Beispiel einfach nur mal manuell mit zwei Beispieldaten gefüllt.

D.h. nun das in unserem Log hier zwei Rechner aufgeführt sind NBAPS99 und NBAPS101. In unserer Rechner-Liste haben wir aber noch den NBAPS100 welcher aber nicht im LOG auftaucht; also ist dies unser Kandidat welchen wir finden müssen. Diesen Vergleich führen wir mit einem Compare-Object durch. Diesem übergeben wir als ReferenceObject unsere $clientlog-Variable und als DifferenceObject unsere $clientliste. Kriterium ist hier die Property Client. Das Konstrukt schicken wir dann mit der Pipe an ein Where-Object wo wir die Unterschiede untersuchen, d.h. wir filtern die Computer heraus welche nur in der $clientliste vorkommen. Das sind dann unsere Clients die sich in der letzten Zeit nicht gemeldet haben.
01.
$clientliste = @() 
02.
$clientliste += New-Object PSObject -Property @{"Client"="NBAPS99"} 
03.
$clientliste += New-Object PSObject -Property @{"Client"="NBAPS100"} 
04.
 
05.
$clientlog = @() 
06.
$clientlog += New-Object PSObject -Property @{"Client"="NBAPS99";"Date"="01.10.2013";"Time"="10:17"} 
07.
$clientlog += New-Object PSObject -Property @{"Client"="NBAPS101";"Date"="10.10.2012";"Time"="22:17"} 
08.
 
09.
Compare-Object -ReferenceObject $clientlog -DifferenceObject $clientliste -Property Client -PassThru | ?{$_.Sideindicator -eq "=>"}| select Client
Du musst dir halt mal die Ausgaben des Compare-Object ansehen um zu verstehen was es macht. Ich empfehle Dir mit der Powershell ISE zu arbeiten, da hast du ab der Powershell-Version 3.0 ein Syntax-Highlighting und die Shell zeigt dir die verfügbaren Parameter zu dem jeweiligen Befehl an den du eingibst.
Du machst wahrscheinlich zu viel auf einmal, mit der Powershell musst du Schritt für Schritt arbeiten und dir zwischendurch auch mal die Zwischenausgaben ansehen. Nur so lernt man das ganze besser kennen.

Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
02.12.2013 um 20:17 Uhr
Hi Uwe und Danke dir

Ich werde das Morgen testen und mich wieder melden

Danke dir
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - Dateien vergleichen und ergänzen (11)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Windows Server
gelöst PowerShell Inhalt einer csv Datei löschen (4)

Frage von makaroni zum Thema Windows Server ...

Batch & Shell
gelöst Powershell - Dateien aus verschiedenen Arrays - Attribute vergleichen (5)

Frage von Giffas zum Thema Batch & Shell ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (31)

Frage von McLion zum Thema Router & Routing ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (24)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerk Neustrukturierung (15)

Frage von IT-Dreamer zum Thema Windows Netzwerk ...