Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Powershell Ausgabe von Get-Childitem Where-Object incl. Dateipfad?

Frage Entwicklung Batch & Shell

Mitglied: Knorkator

Knorkator (Level 2) - Jetzt verbinden

20.01.2012 um 09:27 Uhr, 9504 Aufrufe, 5 Kommentare

Hallo,

ich such mir grade ein Powershell Script für eine Serverdatensicherung zusammen.

Klappt soweit auch ganz gut, allerdings hab ich da nen hänger und komm nicht weiter.
Ich möchte die zuletzt erstellte ntbackup .log Datei per Email verschicken.

$backuplog = Get-ChildItem "C:\Dokumente und Einstellungen\Benutzername\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data" | Where-Object {$_.LastWriteTime -gt (Get-Date).AddMinutes(-45)}

In die Variable $Backuplog wird leider nur der Dateiname geschrieben, sodass eine spätere Übergabe der Variable mangels Pfadangabe nicht funktioniert.

$Att = new-object Net.Mail.Attachment($backuplog)
.
.
.
$Mail.Attachments.Add($Att)

Die Ausgabe des Scripts meldet dann Fehler:
New-Object : Ausnahme beim Aufrufen von ".ctor" mit 1 Argument(en): "Die Datei
"C:\Dokumente und Einstellungen\Benutzername\backup08.log" konnte nicht gefunden werden."


Es wird also nur der Dateiname in die Variable geschrieben.. ist ja logisch... aber leider fehlen mir die PS Kenntnisse um dies zu ändern.
Für eine Korrektur der Minutenwerte in "zuletzt geschriebene Datei" bin ich auch dankbar, da ich ja nur die letzte brauche und das mit den Minuten halt auch funktioniert aber bestimmt nicht best practice ist.


Für Programmierer ist dies bestimmt kein Problem, für mich als Script Laien jedoch schon.
Thx im voraus!
Mitglied: Logan000
20.01.2012 um 09:43 Uhr
Moin Moin

Wenn du den Pfad kennst schreib ihn doch auch in eine variable. Etwa so
01.
$backuppath = "C:\Dokumente und Einstellungen\Benutzername\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data"  
02.
$backuplog = Get-ChildItem $backuppath | Where-Object {$_.LastWriteTime -gt (Get-Date).AddMinutes(-45)} 
03.
... 
04.
 
05.
$Att = new-object Net.Mail.Attachment($backuppath\$backuplog) 
Das ganze ist natürlich ungetestet.

Gruß L.
Bitte warten ..
Mitglied: Knorkator
20.01.2012 um 10:01 Uhr
Hab ich auch schon versucht, mir ist das Verbinden der Variablen aber nicht gelungen.. mit fehlte da wohl nen \


Werde ich gleich mal testen..

Falls noch jemand nen kürzeren Weg kennt.. immer her damit!


Danke

edit:
Habe das \ durch nen + ersetzt.. und schon funktioniert es..


thx
Bitte warten ..
Mitglied: Logan000
20.01.2012 um 11:21 Uhr
Moin

... und schon funktioniert es..

Dann sei doch bitte so gut und setzte den Beitrag auf gelöst.
Danke

Gruß L.
Bitte warten ..
Mitglied: Knorkator
20.01.2012 um 15:46 Uhr
Mach ich.. vielleicht hat ja noch jemand nen Tipp, wie ich anstelle der .AddMinutes(-45)} gegen eine "zuletzt geschriebene" Datei austauschen kann.
Bitte warten ..
Mitglied: horstworst
20.04.2012 um 15:27 Uhr
Zitat von Knorkator:
Mach ich.. vielleicht hat ja noch jemand nen Tipp, wie ich anstelle der .AddMinutes(-45)} gegen eine "zuletzt
geschriebene" Datei austauschen kann.

Versuch mal folgendes:
01.
Get-ChildItem $backuppath -Filter *.log | Sort LastWriteTime -desc | Select -First 1
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Name des Childs bei Get-ChildItem anzeigen (2)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Transpose Objects und Memoryleak (11)

Frage von agowa338 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Get-ADForest (6)

Frage von emeriks zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Ausgabe des Codes als Text (9)

Frage von internet2107 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(1)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (17)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...