Используйте Move-Item в PowerShell для добавления имени хоста и даты к имени файла

#powershell

#powershell

Вопрос:

Полный новичок в PowerShell, поэтому, пожалуйста, простите меня, поскольку я могу испортить то, что я спрашиваю.

У меня есть файл debug.log , мне нужно переименовать его и переместить.

Я знаю, что могу сделать это с помощью Move-Item, но я хотел бы добавить имя хоста в начало имени файла и метку даты в конец.

Например: In: C:Tempdebug.log Out: \sharenameMyHostdebug20201006.log

Файлы будут проходить анализ журнала после того, как они будут скопированы в общий ресурс, а имя хоста и отметка даты импортируются в мое отслеживание того, какие журналы обрабатываются. Я должен делать это для 8 отдельных серверов ежемесячно. Я планирую настроить это как задачу расписания Windows, когда она будет завершена.

Комментарии:

1. Где выполняется скрипт? На хосте или в другом месте? $env:имя_компьютера содержит имя хоста текущего хоста.

2. Он будет выполняться на каждом отдельном хосте, пока я не смогу понять, как сделать это более эффективно. Просто получение имени хоста и даты в файле будет соответствовать моим непосредственным целям. .

Ответ №1:

Используя Get-Date и, как упоминалось @Scepticalist выше, $env:ComputerName, вы можете создать строковую переменную, которую вы можете передать в свой Move-Item в качестве назначения:

 $timestamp = get-date -Format yyyyMMdd
$newPath = "\sharename"   $env:computername   "debug"   $timestamp   ".log"