Зачастую при написании скриптов требуется создать временный файл для хранения каких либо промежуточных данных. PowerShell позволяет сделать это двумя различными способами.
Первый способ предполагает прямое использование .NET, для создания файла используется метод GetTempFileName класса System.IO.Path. Для примера создадим временный файл такой командой:
$file = [System.IO.Path]::GetTempFileName()
После создания файл можно использовать для хранения данных. В качестве примера поместим в него список процессов, наиболее сильно нагружающих процессор:
Get-Process | where {$_.CPU -ge 1} | Out-File $file
Как видите, данные сохранены и с ними можно работать, например отформатировать нужным образом или произвести какие-нибудь вычисления. Ну а после этого файл можно удалить командой:
Remove-Item $file
Этот способ универсален и работает на всех версиях PowerShell, хотя и несколько сложен. Видимо поэтому в PowerShell 5.0 появился специальный командлет New-TemporaryFile, с помощью которого можно создать временный файл. Обращаться к созданному файлу нужно по свойству FullName. Cоздание файла с использованием данного командлета будет выглядеть так:
$file = New-TemporaryFile
Так добавление данных:
Get-Process | where {$_.CPU -ge 1} | Out-File $file.FullName
и удаление:
Remove-Item $file.FullName
Удалить можно и проще
$file.Delete()