Quantcast
Channel: Windows PowerShell Forum
Viewing all 2314 articles
Browse latest View live

Schreiben einer Text-Datei via Out-File - schlechte Performance

$
0
0

Hallo zusammen,

ich untersuche aktuell ein Storage-seitiges Performance-Problem in unserer Organisation.
Das Problem hat nicht direkt etwas mit Powershell zu tun, aber ich möchte hier starten.

Wir haben eine spezielle Software (Hauptanwendung für einen Standort), welche immer wieder Performance Probleme hat.
Jeder Benutzer hat ein Konfigurationsfile (ini) mit ca. 1000 Zeilen. Das Konfigurationsfile liegt zentral am Home-Laufwerk des jew. Users. Die Home-Laufwerke liegen auf der Storage (3rd Party).

Ich habe festgestellt, dass wenn das Konfigurationsfile auf der lokalen Disk des Endgerätes liegt, sich die Performance um ca. 50% verbessert. Eine ähnliche Verbesserung erhalte ich, wenn das Konfigurationsfile auf einem Microsoft Windows File-Share liegt.

Ich habe das auch soweit es mir möglich ist mit WireShark getracet und erhebliche Unterschiede festgestellt.
Die Storage ist schon lange Hauptverdächtig für viele Probleme. Das Storage-Team hat bis jetzt nichts auf die Reihe gebracht und ich möchte eine handfeste Analyse erstellen und dann zum Storage-Team werfen.

Im Moment versuche ich mit Powershell das Szenario zu reproduzieren. Ich schreibe eine Text-Datei mit xxxx-Zeilen via "Out-File" auf diverse Ziele. Das Ergebnis sieht folgendermaßen aus:

Es wurde eine Text-Datei mit den folgenden Eigenschaften geschrieben:

Dateigröße: 0,30 MB
Zeilenzahl:  13248

Die folgenden Zeiten wurden gemessen ...
Write-Time Lokal:  0,8997679 Sekunden (C:\...)
Write-Time Storage:  17,9524958 Sekunden (\\Domain.local\...)
Write-Time MS_Share:  16,8436178 Sekunden (\\Domain.local\...)

Das Schreiben auf die Storage ist im Vergleich um ca. 1895 Prozent langsamer!

Was mich dabei stört ist, dass das Schreiben auf einen Microsoft-Share auch extrem langsam ist.
Die Endgeräte laufen auf Windows 7. (SMB2)
Auf einem Endgerät mit Windows 10 (SMB3) ist die Performance beim Schreiben auf einen Netzwerk-Share nahezu gleich performant wie beim Schreiben auf die lokale Disk.

Die Performance unter Windows 7 verbessert sich auch nicht, wenn ich die Settings der üblichen Verdächtigen ändere. (SMB2 deaktivieren, Offloading deaktivieren, Chimney deaktivieren, IPv6 deaktiveren, ...)

Bevor ich hier weiter mache, wollte ich fragen, ob es aus Programmiertechnischer Sicht eine logische Erklärung gibt, dass das Schreiben einer Textdatei auf eine Netzwerkfreigabe so extrem langsam ist?

Habt Ihr auch via SMB2 beim Schreiben auf einen Netzwerkshare via Out-File ähnlich schlechte Performance?
Via WireShark denke ich erkennen zu können, dass hier Zeilenweise geschrieben wird und nicht alles am Stück.

Vielen Dank im Voraus



Powershell mehrere Pfade einbinden

$
0
0

Hallo zusammen,

leider sind meine Kentnisse zu Powershell fast 0.

Dieses Skript funktioniert einwandfrei:

@echo off & setlocal set "SMTP=*****" set "SUBJECT=******" set "FROM=Powershell@%computername%" set "TO=******" powershell -Executionpolicy ByPass -Command "

$report = (gci '\\192.168.85.70\testordner1\*' -Include '1111.xls','2222.xls','3333.xls' |

%%{\"Datum für $($_.Name) : $(@{$true='OK';$false='FEHLER'}[$_.LastWriteTime.Date -eq (get-date).Date])\"})

-join [environment]::Newline; Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body $report -SmtpServer '%SMTP%'

-From '%FROM%'"

Jedoch möchte ich nun mehrere Pfade einbinden/prüfen lassen!

Wie kann ich diese Pfade noch hinzufügen:

\\192.168.85.70\testordner1\*' -Include '1111.xls','2222.xls','3333.xls'
\\192.168.85.71\testordner2\*' -Include '1111.xls','2222.xls','3333.xls'
\\192.168.85.72\testordner3\*' -Include '1111.xls','2222.xls','3333.xls'
\\192.168.85.73\testordner4\*' -Include '1111.xls','2222.xls','3333.xls'




Umrechnen der Size-Angabe von Bytes nach GB

$
0
0

Hallo zusammen,


ich frage per Get-WMIObject diverse Remote-Computer nach Ihrer Hardwarekonfiguration ab. Nun ist es leider bei RAM und HDD so, das mir der Speicher in Bytes ausgegeben wird. Gibt es eine Möglichkeit bereits bei der Abfrage die korrekte Einheit für die Anzeige festzulegen?

Get-WmiObject win32_physicalmemory -ComputerName HOST | select PSComputername, DeviceLocator, Speed, Capacity  | Export-CSV "HOST RAM.csv" -Delimiter ";"


Ich habe es bereits mit

Get-WMIObject Win32_LogicalDisk | ForEach-Object {[math]::truncate($_.size/ 1GB)}

versucht. Allerdings bekomme ich dann die restlichen Werte nicht mehr ran. :/

Get-WMIObject Win32_LogicalDisk | select PSComputerName,DeviceID, Size| ForEach-Object {$_.size / 1GB} 

In die CSV Datei soll im Optimalfall der Speicher in GB exportiert werden.

Kann mir hier jemand auf die Sprünge helfen?



Freundliche Grüße

Sandro
MCSA: Windows Server 2012
Fachinformatiker Fachrichtung Systemintegration (IHK, 07/2013)



Schleife an bestimmten Ort ausführen

$
0
0

Hallöchen

Ich bin mir nicht ganz sicher, ob ich hier richtig bin, aber ich versuch es einfach mal.

Im Internet habe ich folgende Schleife gefunden:

for /f "skip=2 delims=" %F in ('dir *.* /B /O-D /A-D') do del "%F"

(Soll 2 Dateien behalten und alle anderen - die ältesten - löschen

https://znil.net/index.php?title=Windows:Dateien_die_%C3%A4lter_sind_als_X_Tage_per_Skript_/_Batch_l%C3%B6schen

Diese Schleife möchte ich aus Excel heraus via vba starten.

Dazu muss jedoch in den Aufruf noch der Pfad eingearbeitet werden, das bekomme ich nicht hin.

Der Pfad lautet:
C:\Users\Flori\Documents\Bestellwesen\zbackup

Wenn ich per cd in das Verzeichnis wechsel und den Code ausführe (also in zwei Schritten), läuft es einwandfrei. Den Aufruf von "egal wo" bekomme ich aber leider nicht hin.

Läuft die Powershellkonsole mit anderen Rechten wenn man ein Script mit powershell startet?

$
0
0

Hi,

ich bin am verzweifeln. Ich habe ein Script in der Powershell ISE geschrieben, welches unter anderem den Besitzer eines Homeverzeichnis eines beliebigen Users auf "Administrator ändert". Wenn ich das Script auf meinem Client, per Rechtsklick "mit Powershell ausführen", starte funktioniert es nicht.

Enter-PSSession -ComputerName 10.0.0.11 -Credential $cred
$Path = "\\Server1\Userverzeichnis\TestUserverzeichnis"
$ACL = Get-Acl $Path    $ACL.SetOwner([System.Security.Principal.NTAccount]"Administratoren")
Set-Acl $Path -AclObject $ACL
Exit-PSSession

Verbindung zum Server funktioniert.

Auslesen funktioniert.

Es hängt nur an diesem einen Befehl:

Set-Acl $Path -AclObject $ACL

FEHLER: Set-Acl : Es wurde versucht, einen nicht autorisierten Vorgang auszuführen.

Wenn ich die Codezeilen meines Scripts einzeln in der Powershell ISE in die Konsole eingebe und jede einzeln ausführe funktioniert es.

Wenn ich den gesamten Code in der Konsole der Powershell ISE eingebe kommt ebenfalls die Fehlermedung.

Wenn ich die powershell.exe als Administrator starte und den gesamten Codeblock eingebe kommt die Fehlermeldung

Nur wenn ich die Zeilen einzeln eingebe...

Es liegt also nicht an fehlenden Rechten...

Hat jemand eine Idee?

Danke und schönen Feierabend

Grüße

Lokale Anmeldung verweigern - Attribut

$
0
0

Nabend!

Ich befasse mich gerade mit dem Thema PowerShell und lokale Benutzeraccounts und der Möglichkeit, eine Anmeldung an der Windows-Maschine zu unterbinden.

Welches Attribut ist dafür verantwortlich, damit ich z.B. danach filtern kann?

Ich weiß, dass man es per lokaler Sicherheitsrichtlinie ein/ausschalten kann und mit einer WMI-Abfrage bin ich auch schon an folgende Daten gekommen.

UserFlags                  : {66049}
MaxStorage                 : {-1}
PasswordAge                : {109216}
PasswordExpired            : {0}
LoginHours                 : {255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255}
FullName                   : {Benutzerkonto des Administrationsservers}
Description                : {Benutzerkonto, unter dem der Administrationsserver gestartet wird.}
BadPasswordAttempts        : {0}
LastLogin                  : {18.01.2017 23:06:36}
HomeDirectory              : {}
LoginScript                : {}
Profile                    : {}
HomeDirDrive               : {}
Parameters                 : {}
PrimaryGroupID             : {513}
Name                       : {KL-AK-A2DC08DBA8DAEA}
MinPasswordLength          : {7}
MaxPasswordAge             : {3628800}
MinPasswordAge             : {86400}
PasswordHistoryLength      : {24}
AutoUnlockInterval         : {1800}
LockoutObservationInterval : {1800}
MaxBadPasswordsAllowed     : {0}
objectSid                  : {1 5 0 0 0 0 0 5 21 0 0 0 207 3 45 92 23 195 249 163 196 92 217 59 246 3 0 0}
AuthenticationType         : Secure
Children                   : {}
Guid                       : {D83F1060-1E71-11CF-B1F3-02608C9E7553}
ObjectSecurity             :
NativeGuid                 : {D83F1060-1E71-11CF-B1F3-02608C9E7553}
NativeObject               : System.__ComObject
Parent                     : WinNT://DOMÄNE/PC/
Password                   :
Path                       : WinNT://DOMÄNE/PC/KL-AK-A2DC08DBA8DAEA
Properties                 : {UserFlags, MaxStorage, PasswordAge, PasswordExpired...}
SchemaClassName            : User
SchemaEntry                : System.DirectoryServices.DirectoryEntry
UsePropertyCache           : True
Username                   :
Options                    :
Site                       :
Container                  : 

Ich find auch keine Option im Konto selbst, wenn ich es per mmc aufrufe. Daher wollte ich über PowerShell gehen. Geht da was?


drucker auslesen

$
0
0

moin,

wenn ich

get-wmiobject win32_printer | select * | fl

zeigt alle Properties und ein Property

Name: \\server\druckersharename

wenn ich jedoch

> get-wmiobject win32_printer | select name 

erhalte ich nur

druckername ???


Chris

Auslesen von HDD Informationen

$
0
0

Hallo zusammen,

ist es möglich von einem Hyper-V 2012 die Informationen der verbauten Platten korrekt auszulesen?

Bsp: Führe ich an meinem Client Get-PhysicalDisk aus, erhalte ich unter "FriendlyName" den korrekten Namen des Laufwerks und unter SerialNumber auch die Seriennummer.

Führe ich den Befehl remote auf dem Hyper-V Host aus erhalte ich nur "PhysicalDisk0" als FriendlyName und keine Seriennummer.

Gleiches Verhalten auch beim Get-WMIObject Win32_DiskDrive. Am Client alles tutti, am Server bekomme ich HP LOGICAL VOLUME SCSI Disk Device zurück.

Liegt das am Controller oder gibt's da noch eine andere Möglichkeit um an die Infos per PS ranzukommen?



Freundliche Grüße

Sandro
MCSA: Windows Server 2012
Fachinformatiker Fachrichtung Systemintegration (IHK, 07/2013)




Get-Mailboxpermission, zusätzliche Felder von Get-ADUser

$
0
0

Hallo zusammen,

get-mailbox -id "xyz" |Get-MailboxPermission | select identity,user,@{n="Office";e={(get-user -id $_.User.).office}}

ich möchte bei get-mailbox zusätzliche Information (Anzeigename und Office) anzeigen.

von get-mailbox brauche ich

Identity, User, AccessRights   und von get-ADuser noch Name oder displayname und Office

hier habe ich einen Tipp gefunden aber das klappt auch nicht

get-mailbox -id "xyz" | Get-MailboxPermission  | select -expandproperty user | get-aduser office,name

(get-mailbox -id "xyz" |Get-MailboxPermission) | get-aduser | select office,name


Chris



Powershell in Batch Datei mit HTML

$
0
0

Hallo Zusammen,

kann mir jemand evtl weiterhelfen?

powershell -Executionpolicy ByPass -Command "$report = (gci '\\IP\excel\*','\\IP\excel\*','\\IP\excel\*','\\IP\excel\*' -Include '18277.xls','19012.xls','19291.xls' | %%{$result = @{$true='OK';$false='FEHLER'}[$_.LastWriteTime.Date -eq (get-date).Date]; \"Datum für $($_.Fullname) : <span style=\"color:$(@{'OK'='green';'FEHLER'='red'}[$result])\">$result</span>\"}) -join [environment]::Newline; Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -BodyAsHtml -Body $report -SmtpServer '%SMTP%' -From '%FROM%'"

Habe in meinem Code Html eingebunden, leider erhalte ich keine eMail, wenn ich den Code via Batch starten lasse! Nur Ohne Html code funkt der Code

Wenn ich diesen Skript direkt in Powershell ausführe kommt folgende Meldung:



Powershell bestimmte Zeile aus CSV Datei löschen

$
0
0

Hallo zusammen,

ich stehe vor folgendem Problem.Nach dem Import einer CSV Datei möchte ich bestimmte Zeilen löschen und die Datei dann speichern und schließen.

Es geht im Prinzip darum, an einem Stichtag aktionen auszuführen und die Parameter danach aus der Zeile zu löschen.

Ein Auszug aus meinem Skript:

$Benutzer = Import-Csv $Skriptpfad\Benutzer.csv -Delimiter ';' ForEach ($User in $Benutzer) { $Benutzername = $User.Benutzer $Datum = $User.Datum $aktualdate = Get-Date -Format d.M.yyyy if ($Datum -lt $aktualdate) { #Hier folgen die Aktionen

Und nun soll die SCV Datei ohne die soeben ausgeführte Zeile gespeichert werden.

Könnt ihr mir hier helfen?

Viele Grüße

Tim

Group-Object gibt System.Collections.ObjectModel.Collection`1[System.Management.Automation.PSObject] aus

$
0
0

Hallo zusammen,

ich lese einen Datensatz aus der Datenbank aus.:

$command = $connection.CreateCommand()
$command.CommandText = $query

$result = $command.ExecuteReader()
$table = new-object “System.Data.DataTable”
$table.Load($result)

#########

$table |  Group-Object Gruppenname 

beim Gruppieren bekomme ich dann:

Count Name                      Group                                                                                                                                             
----- ----                      -----                                                                                                                                                      
    7 Gruppe                 ... {System.Data.DataRow, System.Data.DataRow, System.Data.DataRow, System.Data.DataRow...}  

Mein Ziel ist es jedoch die Daten auf zu listen die sich in der Gruppe befinden.

Hat jemand eine Idee für mich?

AD-User Auswertung

$
0
0

Hallo ich habe die ganze Zeit ein Tool (DumpSec) benutzt um aus unserem AD User mit den entsprechenden Gruppen aufzulisten. Das Ganze wollte ich jetzt aber durch ein Powershell Skript ablösen.

Mit get-aduser habe ich das auch so gut wie hinbekommen jedoch geht es um die Darstellung.

Mein Powershell:

Get-ADUser -filter * -Properties * | sort name | Format-table name, description, CannotChangePassword, PasswordLastSet, PasswordNotRequired, PasswordExpired, Enabled, LockedOut, AccountExpirationDate, LastLogonDate, ObjectClas, memerof

Soweit wären das alle Daten die ich aus dem AD herausziehen will jedoch macht mir die Option memberof Probleme.

In DumpSec bekomme ich pro Gruppe in der der User ist eine Zeile angezeigt.

Also zum Beispiel so:

User A Gruppe X

User A Gruppe Y

User A Gruppe Z

User B Gruppe Y

User C Gruppe Y

User C Gruppe Z


und in meiner Powershell so:

User A Gruppe X,Gruppe Y, Gruppe Z

ich hätte aber gerne das mein powershell genau so pro gruppe des users eine Zeile macht.

Oder ich kann das ganze besser aus powershell direkt in ne csv aber das hab ich auch nicht hinbekommen.

Wenn ihr mir dabei helfen könntet wäre super.

Leider bin ich noch Anfänger was Powershell angeht.

Ad User Auflistung

$
0
0

Hi Hi,

also ich komm mal wieder zu diesem Thema zurück. Ich hab noch einmal ausprobiert aber ich bekomme es einfach nicht hin.

Ich brauch eine Tabelle wo Der Username LastLogon und die Gruppenmitgliedschaften des Users in einer Tabelle stehen.

Username und LastLogon sind ja gar kein Problem. Hätte ich so gemacht:

Get-ADUser -filter 'name -like "XXXXXX"' -Properties * | ft Name, LastLogonDate

Ergebnis:

Name                                                              LastLogonDate                                                   
----                                                              -------------                                                   
XXXXXXXXXX                                                      22.01.2017 07:05:48

Ich weis auch wie ich mir die Gruppen des Users anschauen kann:

Get-ADUser -filter 'name -like "XXXXXXX"' -Properties * | ForEach-Object { Get-ADPrincipalGroupMembership $_ | Select-Object SamAccountName } |  Format-table SamAccountName

Ergebnis:

Es kommt eine Tabelle mit dem Header SamAccountName und den entsprechenden Gruppen untereinander.

SamAccountName                                                                                                                    
--------------                                                                                                                    
Domänen-Admins                                                                                                                    
Schema-Admins                                                                                                                     
Organisations-Admins                                                                                                              
Domänen-Benutzer       

Jetzt bräuchte ich nur eine Tabelle die mir beide Ergebnisse in einer Tabelle anzeigt. Könnt ihr helfen ?

Invoke-Command Problem - The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from the destination computer.

$
0
0

Hallo

Ich möchte von Server A (srv-le-vmonprd) auf Rechner B (srv-le-vmonpr1) ein PowerShell Script starten, erhalte aber immer

Invoke-Command -ComputerName srv-le-vmonpr1 -ScriptBlock { Get-Process } -Credential adminaccount

[srv-le-vmonpr1] Connecting to remote server tpcs-le-vmonpr1 failed with the following error message : The WinRM client cannot process the request. It cannot determine the content
type of the HTTP response from the destination computer. The content type is absent or invalid. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (srv-le-vmonpr1:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : -2144108297,PSSessionStateBroken

Die Rechner sind im gleich Subnetz, bei beiden ist die Firewall abgeschaltet und auch der Account ist auf beiden System Administrator.

PS C:\Windows\system32> winrm e winrm/config/listener
Listener
    Address = *
    Transport = HTTP
    Port = 5985
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 10.10.10.10, 127.0.0.1, ::1

Hat jemand eine Idee wo hier das Problem liegt, mit Google suche bin ich auch nicht weitergekommen.

Danke und Gruss


Ausgabe unterdrücken New-Cluster

$
0
0

Hallo zusammen,

wie kann ich beim CMDLET New-Cluster die Ausgabe des Reports unterdrücken?

New-Cluster -Name "HA_Test" -Force -Node $NodeA, $NodeB -StaticAddress $CluIP -NoStorage | Out-Null

Ich bekomme anschließend die Ausgabe des Report Pfades, möchte diese aber unterdrücken.

Getestet habe ich das bereits mit

3>$Null

*>$Null

*>$1

-WarningAction SilentlyContinue

Hat jemand einen Tipp, wie ich diese Ausgabe unterdrücken kann?

Grüße

Kai


Hilfe bei Automatisierung von Excel

$
0
0

Moin, 

ich bin noch recht unerfahren im Umgang mit Microsoft Powershell. Mein Problem ist, dass ich eine Excel liste hab die recht umfassend ist (über 3000 Zeilen). Die Liste wird automatisch erzeugt und seit ein paar Wochen gibt es bei der Erzeugung der Liste einen Fehler. Der Fehler bewirkt, dass die meisten Eintragungen der Liste doppelt in der Liste vermerkt sind. Nun habe ich es schon hinbekommen ein Script zu schreiben, dass die Fehlerhaften Zeilen erkennt. nur scheitert es jetzt daran, dass ich nicht weiß, wie ich die Zeilen löschen kann, bzw. wie ich überhaupt etwas Löschen kann über Powershell. 

Würde mich sehr über ein paar Tipps freuen.

Mit freundlichen Grüßen 

Dixieslicer

Powershell überprüfen ob Download File existiert.

$
0
0

Hallo

Mein Script lädt eine SQL-DB Backup File aus dem WEB herunter und importiert diesen in einen SQL-Server.

Funktioniert auch soweit.

Das Script starte ich per Taskplaner jeden Abend um 20:00Uhr nur manchmal ist das Download File noch nicht auf dem Webserver verfügbar, gibt es eine Möglichkeit dies per PS zu überprüfen, oder das er den Download alle ca 10min erneut startet ?

$date = Get-Date -Format yyyy_MM_dd
$file = "test_$date.bacpac"
$Username = "test"
$Password = "kennwort"
$Url = "https://download.com/file/"
$Path = "c:\test\$file"

Write-Host "Start" -ForegroundColor Green
Get-Date

Write-Host "#################################################################################" -ForegroundColor Green
Write-Host ""
Write-Host "Auflisten des vorhanden Datenbank Backup" -ForegroundColor Green

    Get-Item C:\test\*

Write-Host ""
Write-Host "#################################################################################" -ForegroundColor Green
Write-Host ""
Write-Host "Altes Datenbank Backup wird gelöscht" -ForegroundColor Green

    Remove-Item C:\test\*

Write-Host ""
Write-Host "#################################################################################" -ForegroundColor Green
Write-Host ""

$WebClient = New-Object System.Net.WebClient
$WebClient.Credentials = New-Object System.Net.Networkcredential($Username, $Password)

Write-Host "Downloading" $Url, $file -ForegroundColor Green

        $WebClient.DownloadFile( $url, $path )

Write-Host ""

Get-Item C:\test\*



Write-Host ""
Write-Host "#################################################################################" -ForegroundColor Green
Write-Host ""
Write-Host "Alte Datenbank wird gelöscht"

SQLPS\Invoke-Sqlcmd -HostName SQL2016Server -Query "Drop database Test_DB"

Write-Host ""
Write-Host "#################################################################################" -ForegroundColor Green

Get-Date
Write-Host ""
Write-Host "Datenbank $Path wird importiert" -ForegroundColor Green
Write-Host ""& "C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\sqlPackage.exe" /a:Import /sf:$Path /p:CommandTimeout=0 /tdn:Test_DB /tsn:SQL2016Server
Write-Host""

Get-Date


Powershell Outlook Zugriff auf anderes Profil

$
0
0

Hallo Community!

Ich habe ein Powershell Script mit welchem ich auf Outlook zugreife und verschieden Aktionen durchführe.

Dazu verwende ich folgendes Objekt

$outlook = new-object -com Outlook.Application 

Ich würde nun gerne nicht das DefaultProfile dazu verwende, sondern habe mehrere andere Profile angelegt.
Wie kann ich dem Objekt einen anderen ProfileName als Parameter mitgeben, um auf das richtige Profile zu zugreifen?

Danke für eure Hilfe!
Peter

Get-childitem -filter regular expression

$
0
0

hallo,

ich möchte Logdateien auswerten und benötige nur die MSGTRK. Also greift bei gci der -path msgtrk*.log nicht. Mittels -filter müsste ja auch Regular Expression möglich sein. Komme aber leider nicht weiter. die Dateien sind unterschiedlich lang. Auch ForEach oder IF oder Substring(1,6) hilft mir im Moment nicht ohne Regular Expression.

MSGTRK2017020102-1.LOG
MSGTRK2017020105-1.LOG
MSGTRK2017020106-1.LOG
MSGTRKMD2017013122-1.LOG
MSGTRKMD2017020106-1.LOG
MSGTRKMS2017013122-1.LOG
MSGTRKMS2017020101-1.LOG

    -Filter<String>        Specifies a filter in the provider's format or language. The value of this parameter qualifies the Path parameter. The syntax of the filter, including the use of wildcards, depends on the provider. Filters are more efficient than other parameters, because the provider applies them when retrieving the objects, rather than having Windows PowerShell filter the objects after they are retrieved.


Chris


Viewing all 2314 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>