首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据管道中的名称创建新对象

根据管道中的名称创建新对象
EN

Stack Overflow用户
提问于 2017-07-21 07:30:45
回答 1查看 92关注 0票数 2

你好,Stackoverflow专家

我刚开始在这个网站,所以希望赢得一些荣誉,回答问题,以及只问问题,可以帮助这个可怕的知识库,即Stackoverflow社区。

我的Powershell技能每天都在增长,但是我很难理解为什么这样做不起作用。

我想从pscustomobject的记事本属性中保存的名称列表中创建一组新对象。

代码语言:javascript
复制
    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner> $ADSObjectNames

    ObjectName                     CSV                                            
    ----------                     ---                                            
    Process                        580501780015_Process.csv                       
    Applications                   580501780015_Applications.csv                  
    ApplicationResourceAssociation 580501780015_ApplicationResourceAssociation.csv
    NetworkInterface               580501780015_NetworkInterface.csv              
    SystemPerformance              580501780015_SystemPerformance.csv             
    Tags                           580501780015_Tags.csv                          
    Connection                     580501780015_Connection.csv                    
    Server                         580501780015_Server.csv                        



    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner> $ADSObjectNames | Select-Object -Property ObjectName | ForEach-Object {$_.objectname = New-Object -TypeName pscustomobject}


    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner> Get-Variable | Where-Object {$_.Name -eq 'Process'}

    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner> Get-Variable | Where-Object {$_.Name -eq 'Server'}

    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner>

$ADSObjectNames分类如下:

代码语言:javascript
复制
    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner> $ADSObjectNames | gm


       TypeName: System.Management.Automation.PSCustomObject

    Name        MemberType   Definition                         
    ----        ----------   ----------                         
    Equals      Method       bool Equals(System.Object obj)     
    GetHashCode Method       int GetHashCode()                  
    GetType     Method       type GetType()                     
    ToString    Method       string ToString()                  
    CSV         NoteProperty string CSV=580501780015_Process.csv
    ObjectName  NoteProperty string ObjectName=Process          



    PS G:\Team Drives\Projects\AWS-PowerShell\AWS_ADS_DataMiner> 

如能从您的经验和知识中获得任何见解,将不胜感激。

谢谢斯塔克沃夫的佩普斯

斯图尔特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-21 08:44:02

  • 听起来你好像把New-ObjectNew-Variable搞混了。New-Object不会为您创建变量;它的语法更像$newVar = New-Object ...
  • 这两个Cmdlet都需要更多的参数才能真正有效。New-Object with -TypeName创建一个空对象,New-Variable-Name创建一个空变量,-ArgumentList-Value重新允许您在其中存储内容。
  • 不建议动态创建变量--请参阅this post of mine和Tomalak的有用评论。相同页面上的Ansgar Wiechers's回答演示如何在哈希表中存储数据。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45231660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档