Sono un novizio completo dello sviluppo di Powershell e sto provando a scrivere un Cmdlet Powershell in C# che verrà utilizzato come interfaccia per un'API REST.Qual è la migliore pratica per mantenere lo stato tra le chiamate ai cmdlet di PowerShell?
Vorrei disporre di un tipo di installazione Cmdlet in cui all'utente verrà richiesto un Uri, nome utente e password per l'API REST e quindi chiamare Cmldlet come Get-Item senza dover immettere tali parametri. Praticamente come il provider di Azure per PowerShell, in cui è possibile impostare l'abbonamento corrente chiamando Select-AzureSubscription e quindi chiamare Save-AzureVhd senza dover inserire nuovamente il nome dell'abbonamento.
Quali sono le migliori pratiche per mantenere lo stato tra chiamate a diversi cmdlet?
EDIT: Non sono sicuro che questo sia il modo migliore per risolverlo ma quello che ho fatto è che ho aggiunto una classe singleton che contiene lo stato. Ho un Cmdlet, Select-Project -Name MyProject che imposta una proprietà pubblica nella mia classe singleton e quindi gli altri Cmdlet possono accedere a tale proprietà.
Forse questa è una soluzione ma sembra abbastanza complessa quando è necessario aggiornarla dal codice C#. – RobinHu