Можно ли записать историю PowerShell в текстовый файл при выходе из PowerShell? - PullRequest
2 голосов
/ 16 февраля 2012

Мне любопытно узнать, можем ли мы сделать это в Powershell.

с помощью команды Out-File мы можем направить ее в канал, чтобы получить результат, записанный в файл.Таким образом, я могу отправить все свои команды истории в текстовый файл.

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

Ответы [ 3 ]

4 голосов
/ 16 февраля 2012

Вы можете использовать start-transcript -path .\console.txt -append в вашем профиле $, чтобы иметь в текстовом файле все действия консоли, не только историю, но и результаты команд.

2 голосов
/ 16 февраля 2012

Еще одна возможность:

function start-histcap {
clear-history
$host.enternestedprompt()
get-history | out-file c:\testfiles\commandhist.txt -append
}

Запустите start-histcap, и вы получите вложенную подсказкуВсе, что вы там делаете, записывается в файл истории, когда вы выходите из этого вложенного приглашения.

1 голос
/ 16 февраля 2012

Трудно всегда поймать «выход». Вы можете зарегистрироваться для события onexit, но проблема в том, что он будет ловить ТОЛЬКО, когда пользователь нажимает «выйти», а не если он нажимает X или закрывается любым другим способом.

Событие Powershell "при выходе"?

поэтому в событии action вы просто делаете get-history (укажите число, если вам нужно больше, чем значение по умолчанию 100), а затем устанавливаете содержимое в файл ...

вам может быть лучше использовать Start-Transcript, но это работает только в консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...