鑑於提供的配置信息的傳統方式,自PS的cmdlet的組件,我不能爲他們提供配置通過正常的App.config路由信息。向自定義cmdlet提供配置信息的傳統方式是什麼?什麼是自定義的PowerShell命令
3
A
回答
1
通常我會只使用參數傳遞數據表明。
Get-MyData -connectionstring $connectionString -table Test ...
當那是不實際的(參數太多,等..),那麼你可以隨時通過參數提供的路徑,配置文件:
Get-MyData -Config .\My.config
然後,您可以讀取指定來自cmdlet內部的配置文件。
這允許cmdlet的用戶定義他們自己的配置文件來使用。
1
PowerShell是一個外殼。在shell的各個部分之間傳遞信息的正常方式是shell變量。對於看起來像這樣的PowerShell:
$global:MyComponent_MySetting = '12'
# i.e.
$PSDefaultParameterValues
$ErrorActionPreference
如果設置預計跨進程邊界繼承,則約定將使用環境變量。我將其擴展到跨越C#/ PowerShell邊界的設置。一對夫婦的例子:
$env:PATH
$env:PSModulePath
如果你認爲這是一個反模式爲.NET你可能要重新考慮。這是PAAS託管應用程序的常態,並且將成爲在服務器優化CLR(ASP.NET v5)上運行的ASP.NET的新默認值。
見https://github.com/JabbR/JabbRv2/blob/dev/src/JabbR/Startup.cs#L21
注:在寫作的時候,我鏈接到.AddEnvironmentVariables()
我重新審視這個問題了幾次,包括要求它自己。我希望把股權地說PowerShell的東西不<appSettings>
很好地工作。國際海事組織(IMO)在這方面擁抱.NET方面的PS外殼方面要好得多。
如果需要複雜的設置才能JSON字符串。 POSH v3 +內置了ConvertFrom-JSON。如果一切都在你的過程中使用相同的複雜的配置把它放在一個以.json文件,並指向文件從一個環境變量。
如果單個文件不足夠有喜歡PATH
模式完善的解決方案,GIT的.gitignore分辨率,或ASP.NET的web.config分辨率(我這裏就不重複了)。
相關問題
- 1. 如何處理自定義PowerShell命令
- 2. 未自定義PowerShell命令行導入
- 3. '$?'是什麼?命令do/mean在PowerShell中?
- 4. PowerShell命令 - 這個輸出是什麼?
- 5. 自定義命令
- 6. '$'在命令行命令中的含義是什麼?
- 7. 什麼PowerShell命令可以改變TextInfo.ListSeparator?
- 8. 爲什麼在這個PowerShell命令
- 9. 什麼是OSX Leopard dock的自定義堆棧的命令行語法?
- 10. SBT中`projects`命令的定義是什麼?
- 11. 這是什麼linux命令的相當於PowerShell的
- 12. 什麼是PowerShell的命令行替換的東西
- 13. Git自定義SSH命令
- 14. 與自定義命令
- 15. 自定義CMD命令
- 16. MVVM和自定義命令?
- 17. 用戶自定義命令
- 18. django自定義命令
- 19. 自定義execCommand命令
- 20. VisualStudio VSPackage自定義命令
- 21. 自定義distutils命令
- 22. Pycharm manage.py自定義命令
- 23. Windows自定義git命令
- 24. 自定義附加命令
- 25. 基於自定義命令
- 26. 什麼是mutt命令的「 - 」?
- 27. django自定義命令抱怨AssertionError:ForeignKey(None)無效。爲什麼
- 28. Linux來定義自定義Shell命令?
- 29. 「令牌?」的確切定義是什麼?
- 30. 什麼是DIR命令在PowerShell中的替代者
[PowerShell App.Config]的可能重複(http://stackoverflow.com/questions/17960/powershell-app-config) – Howli 2014-05-11 23:29:03
引用此主題:http://stackoverflow.com/questions/17960/powershell- app-config – 2011-03-11 20:50:08
請注意,PowerShell cmdlet不必是基於程序集的。您可以在純PowerShell中創建cmdlet。 – 2015-01-09 23:38:51