#powershell
Вопрос:
Я изучал PowerShell, и лучший способ учиться-это делать. Сценарий:
D:Toolschainsawchainsaw.exe D:Toolschainsawmapping_files D:Toolschainsawsigma_rules
Я добавил D:Toolschainsaw
к своему ПУТИ
У меня есть журналы событий, скажем, в C:TestEventLogs
которых я создаю свой текущий каталог в PowerShell
chainsaw.exe hunt ./ --rules sigma_rules/ --mapping mapping_files/sigma-mapping.yml --csv text.csv
Теперь команда, подобная приведенной ниже, потерпит неудачу, потому что, хотя PowerShell может найти chainsaw.exe поскольку он находится в моем ПУТИ, он не может найти другие папки, указанные двумя другими аргументами --rules sigma_rules/ --mapping mapping_files/sigma-mapping.yml
Любые советы или обходные пути для этого будут оценены по достоинству. Я пытаюсь автоматизировать некоторые вещи, используя функции и аргументы PS, и я застрял на этой работе, потому что не хочу жестко D:Toolschainsawmapping_files
кодировать и D:Toolschainsawsigma_rules
в командной строке.
Комментарии:
1. Возможно, добавление пути
D:Toolschainsaw
в окружающую среду-это то, что вы ищете? Тогда вы можете решить эту проблему с помощью чего-то вроде$env:Chainsawmapping_filessigma-mapping.yml
Ответ №1:
Как уже отмечалось, вам может быть полезно создать переменную среды для пути к файлу:
[Environment]::SetEnvironmentVariable("CHAINSAW", D:Toolschainsaw, "Machine")
Тогда вы можете использовать это как $env:CHAINSAWmapping_filessigma-mapping.yml
Комментарии:
1. Спасибо вам обоим! После публикации вопроса мне удалось добавить ENV для достижения этой цели. Я рад, что два добрых и отзывчивых незнакомца в Интернете тоже подумали об одном и том же методе — еще раз спасибо.