Разбираюсь с PowerShell ISE, который при попытке запустить скрипт выдавал мне такую ошибку:
D:\Distr-free\System\Tweaks\PowerShell\current.ps1 : Cannot dot-source this command because it was defined in a different language mode. To invoke this command without importing its contents, omit the '.' operator.
+ CategoryInfo : InvalidOperation: (:) [current.ps1], NotSupportedException
+ FullyQualifiedErrorId : DotSourceNotSupported,current.ps1
В процессе поисков профиля PowerShell, наткнулся на такой файл:
«C:\Users\Denis\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt»
Оказывается вся история команд, запущенных в этой консоли сохраняются в файл! Причем они добавляются туда инкрементно…
За эту фичу отвечает модуль PSReadline, поэтому чтобы остановить запись истории в файл, можно:
- Изменить путь для сохранения логов на новый (не подходит — меняем шило на мыло):
Set-PSReadlineOption -HistorySavePath 'C:\My\New\Secure\Path\log.txt'
- Удалить этот модуль:
Remove-Module PSReadline
- Отключить опцию сохранения лога в файл:
Set-PSReadlineOption -HistorySaveStyle SaveNothing
Применяем третий пункт — теперь лучше:
PS C:\Windows\system32> (Get-PSReadlineOption).HistorySaveStyle SaveNothing
Можно удалить файл с историей — он больше не нужен.
Чтобы в дальнейшем настройка не менялась, нужно добавить эту запись в профиль. Для чего создаём файл настроек профиля:
1. Запускаем «Windows PowerShell ISE»
2. Вставляем в окно «Untitled1.ps1» код:
if (!(Test-Path -Path $PROFILE ))
{ New-Item -Type File -Path $PROFILE -Force }
3. Выполняем этот скрипт
4. Открываем в любом редакторе файл «C:\Documents and Settings\<USER>\My Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1»
5. Вставляем туда строки:
Set-PSReadlineOption -HistorySaveStyle SaveNothing
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024