PowerShell Skript ist zu langsam?

Der Code ist für unser Betriebs Netzwerk zu langsam. Lokal funktioniert alles super. Wie kann man den Code schneller machen?

Code:

$desktopFolder=[Environment]::GetFolderPath('Desktop')
$VonOrdner="\\deploy\deployment$\log\EmpPackages"
$global:NachOrdner="$desktopFolder\test2"
$Dateiname="Alle2.log"


Copy-Item "$VonOrdner\$Dateiname" $global:NachOrdner
  #Inhalt der KopiertestServer.txt Datei einlesen
$global:VergleichsString=try{[System.IO.File]::ReadAllText("$VonOrdner\$Dateiname")}catch{}  


New-Item $global:NachOrdner -ItemType "directory" -force #Ordner anlegen falls er nicht existiert


$watcher=New-Object System.IO.FileSystemWatcher
$watcher.Path=$VonOrdner
$watcher.Filter=$Dateiname
$watcher.IncludeSubdirectories=$false
$watcher.EnableRaisingEvents=$false 


$action={


  $changeType = $Event.SourceEventArgs.ChangeType
  $VonPfad = $Event.SourceEventArgs.FullPath
  $SourceDatei = $Event.SourceEventArgs.Name
  $NachPfad = "$global:NachOrdner\$SourceDatei"


    #Den neuen Inhalt einlesen
  $NeuerInhalt=try{[System.IO.File]::ReadAllText($VonPfad)}catch{}
    
  Write-Host "Start" 


  #Ab hier hängt sich auf
  #---------------------------------------------------------------------------------------------------------------------
  $Unterschied=$NeuerInhalt -replace "^$global:VergleichsString",''
  #---------------------------------------------------------------------------------------------------------------------


    #Ausgabe des Unterschiedes
  Write-Host "Unterschied: $Unterschied" -fo red
  [System.IO.File]::AppendAllText($NachPfad,$Unterschied)
    #vergleichsstring updaten
  $global:VergleichsString=$NeuerInhalt
}


Register-ObjectEvent $watcher "Changed" -Action $action|Out-Null


while ($true) {
  sleep 1
}
programmieren, Shell, PowerShell

Meistgelesene Fragen zum Thema PowerShell