Как сохранить информацию о диске поставщика Powershell? - PullRequest
1 голос
/ 11 августа 2009

В моем поставщике Powershell, который представляет собой слой бизнес-логики над базой данных SQL, диски Powershell соответствуют настройкам подключения к базе данных. Этот набор параметров подключения сохраняется в зашифрованном XML-файле на локальном компьютере. Администратор может добавить эти диски PS на компьютер, предоставив учетные данные SQL Server, которые другой пользователь Powershell может использовать при написании сценариев. Когда администратор запускает New-PSDrive, я добавляю диск в коллекцию и сохраняю его в XML. Когда они Remove-PSDrive, я удаляю диск из постоянного XML. Это отлично работает. Однако когда хост Powershell завершает работу, он вызывает RemoveDrive () для каждого существующего диска. На данный момент я не хочу извлекать диски, поскольку мне нужно, чтобы они сохранялись на компьютере.

Как определить, вызывается ли RemoveDrive () от пользователя, вручную выполняющего Remove-PSDrive, или от хоста, выходящего?

Кроме того, я создал пользовательские параметры информации о дисках, которые хорошо работают, но я также написал собственный командлет, который используется для добавления и удаления дисков. Как я могу создать (и удалить) psdrives из моего командлета?

1 Ответ

0 голосов
/ 12 августа 2009

Вы можете использовать для этого переопределение InitializeDefaultDrives . Это означает, что вам потребуется постоянное хранилище строк подключения, чтобы вы могли создавать все соответствующие диски при инициализации провайдера. Вы должны иметь возможность переопределить виртуальный метод Stop, чтобы сохранить эту информацию.

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