Ily*_*kov 3 powershell envdte nuget t4scaffolding
为什么我可以成功地将 cmdlet 的结果通过管道传输到 Get-Member,但不能通过变量?
PM> Get-ProjectFolder "Services" -Project "Foobar" | Get-Member
TypeName: System.__ComObject#{8e2f1269-185e-43c7-8899-950ad2769ccf}
Name MemberType Definition
---- ---------- ----------
AddFolder Method ProjectItem AddFolder (string, string)
AddFromDirectory Method ProjectItem AddFromDirectory (string)
AddFromFile Method ProjectItem AddFromFile (string)
AddFromFileCopy Method ProjectItem AddFromFileCopy (string)
AddFromTemplate Method ProjectItem AddFromTemplate (string, string)
Item Method ProjectItem Item (Variant)
ContainingProject Property Project ContainingProject () {get}
Count Property int Count () {get}
DTE Property DTE DTE () {get}
Kind Property string Kind () {get}
Parent Property IDispatch Parent () {get}
Run Code Online (Sandbox Code Playgroud)
.
PM> $f = Get-ProjectFolder "Services" -Project "Foobar"
PM> $f | Get-Member
Get-Member : You must specify an object for the Get-Member cmdlet.
At line:1 char:6
+ $f | Get-Member
+ ~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-Member], InvalidOperationException
+ FullyQualifiedErrorId : NoObjectInGetMember,Microsoft.PowerShell.Commands.GetMemberCommand
Run Code Online (Sandbox Code Playgroud)
编辑:https : //i.imgur.com/AeUW6Ge.png

怎么样Get-Member -InputObject $f,而不是管道?有区别,正如帮助所说,但它应该只考虑集合:
-输入对象
指定检索其成员的对象。
使用 InputObject 参数与将对象通过管道传递给 Get-Member 不同。
| 归档时间: |
|
| 查看次数: |
5260 次 |
| 最近记录: |