首先,虽然问题是围绕PowerShell进行的,但问题本身与PowerShell无关,它是一个普遍的问题编程问题。
我正在创建一些PowerShell脚本,我喜欢将所有内容分成功能和模块,所以如果我稍后再次需要它,我可以将其移植,但我也可以分享它社区。 p>
大多数时候,很容易决定是否创建辅助函数,但有时候不是很多。我现在正面对其中一个问题。
我正在与WMI合作,并注意到没有'逻辑'检索现有WMI名称空间列表(指定名称空间的子项)的方法。
我想,如果我可以打电话,那就不好了。
Get-CimNamespace -Namespace root\cimv2
获取root \ cimv2的子命名空间列表?它也非常简单,其中存在问题......
Get-CimNamespace -Namespace root\cimv2
所做的一切都是...... Get-CimInstance -Class __Namespace -Namespace root\cimv2
。
所以有人要问,这样一个功能的优点是什么?我能看到一对夫妇:
Get-CimInstance
来获取父母的父类。它不是,但有点像。但是,请记住Get-CimInstance
还有其他一些可能的参数,包括过滤器,查询远程计算机的能力等等......只有{{1}这样的功能才真正值得...如果它与直接调用Get-CimNamespace
一样灵活。这意味着接受与Get-CimInstance
一样多的参数,这意味着拥有它拥有的所有参数集等等。
为了节省必须在Get-CimInstance
上撰写-Class __Namespace
的人,似乎需要做很多工作才能提出这样的问题......这值得吗?
什么时候划线?是否值得创建一个只能在Get-CimInstance
执行时检索类属性的函数?
什么定义了什么时候创造这样的东西是值得的。