创建自定义 Powershell 对象的多个实例

2023-12-10

我正在 Powershell 脚本中创建一个新对象,或者实际上是一个对象类型。我想创建该对象的多个实例。我该怎么做呢?

下面的代码是我正在处理的代码,看起来数组中的所有实例都引用相同的对象,包含相同的值。

# Define output object
$projectType = new-object System.Object
$projectType | add-member -membertype noteproperty -value "" -name Project
$projectType | add-member -membertype noteproperty -value "" -name Category
$projectType | add-member -membertype noteproperty -value "" -name Description

# Import data
$data = import-csv $input -erroraction stop

# Create a generic collection object
$projects = @()

# Parse data
foreach ($line in $data) {
    $project = $projectType

    $project.Project = $line.Id
    $project.Category = $line.Naam
    $project.Description = $line.Omschrijving
    $projects += $project
}

$projects | Export-Csv output.csv -NoTypeInformation -Force

你必须使用New-Object对于任何,嗯,new对象,否则是引用类型$projectType在您的代码中引用同一个对象。这是更改后的代码:

# Define output object
function New-Project {
    New-Object PSObject -Property @{
        Project = ''
        Category = ''
        Description = ''
    }
}

# Parse data
$projects = @()
foreach ($line in 1..9) {
    $project = New-Project
    $project.Project = $line
    $project.Category = $line
    $project.Description = $line
    $projects += $project
}

# Continue
$projects

在这种特殊情况下,不要使用该函数New-Project你可以将它的主体移动到循环中,例如$project = New-Object PSObject …。但是,如果您在其他地方创建“项目”,那么拥有此功能也将很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建自定义 Powershell 对象的多个实例 的相关文章

  • 获取进程和进程所有者

    我正在尝试对一个脚本进行排序 该脚本将检索进程的所有实例以及进程各自的所有者 我有一个脚本来获取进程名称和开始时间 get process name notepad select object starttime name 我有一个脚本来获
  • 仅从 AD 获取计算机名称

    我是 Power Shell 新手 正在测试一些命令和想法 我坚持认为应该很简单的事情 我想将 AD 中计算机对象的名称提取到文件中 到目前为止我正在尝试的方法是这样的 computers Get ADComputer Filter For
  • 查找所有 DHCP 和 DNS 服务器

    我有一位客户要求我找到他所有的 Dhcp 和 DNS 服务器以及一些附加信息 例如 DC 服务器和操作系统 所以我决定尝试提高我的 powershell 技能 但我对此还很陌生 所以我写了这个脚本 但我想仍然缺少一些东西 因为它不起作用 编
  • 从 CSV 中去除额外的文本限定符

    我有一个 CSV 其中某些字段由 符号分隔作为文本限定符 参见下面的例子 请注意 每个整数 例如 1 2 3 等 都应该是一个字符串 合格的字符串被 符号包围 1 2 3 qualifiedString1 4 5 6 7 8 9 10 11
  • Powershell:获取 FQDN 主机名

    我想通过 powershell 脚本检索 Windows 服务器的 FQDN 名称 到目前为止我已经找到了2个解决方案 server Invoke Command ScriptBlock hostname 上面的行将仅打印服务器的短名称 s
  • Powershell删除文件夹-force

    我似乎无法删除文件 文件夹 除非我必须为所有文件 文件夹输入 A 我缺少什么 Get Childitem C Users AppData Local Temp ErrorAction SilentlyContinue Where Creat
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • Powershell:当文件名包含字符 [ ] 时,移动项目不起作用

    关于使用 PowerShell 移动项目的简单问题 有谁知道为什么当文件名包含 或 字符时以下脚本不起作用 前任 文件1 VT txt ls j foreach itemName Name Replace destination ls wh
  • JSON 对象数组转 Java POJO

    将此 JSON 对象转换为 java 中的类 您的 POJO 类中的映射将如何 ownerName Robert pets name Kitty name Rex name Jake This kind of question is ver
  • 从 array_map 匿名函数内部调用类方法

    我正在尝试从一个对象中调用我的对象的方法之一array map匿名函数 到目前为止 我收到了预期的错误 致命错误 不在对象上下文中时使用 this 我知道为什么我会收到此错误 我只是不知道如何实现我想要的目标 有人有任何建议吗 这是我当前的
  • 运行多个 powershell 命令

    我如何运行前导命令 例如set adserversettings当我在 C 中调用 powershell 命令时 现在它返回 0 个结果 这是我正在使用的代码 Command command1 new Command set adserve
  • 已删除的类实例上的方法仍然有效吗?

    我在 Visual C 2010 上有这段代码 include
  • 比较一个类的两个实例

    我有一堂这样的课 public class TestData public string Name get set public string type get set public List
  • 无法使用 Windows 窗体中的内容处理 powershell 功能

    function CalendarShare Add MailboxFolderPermission Identity FromUser Text AccessRights Editor User ToUser Text 当程序运行时 它会
  • 在 PowerShell 中,如何组合具有一对一关系的两个命令的结果?

    此特定示例是 Get User 和 Get Mailbox Exchange 2010 Get User 返回一些我需要的列 Get Mailbox 返回一些其他列 我很难弄清楚如何将两者的结果合并到一个表中 并包含两者的结果 Get Us
  • PowerShell 解锁/卸载导入的 CSV

    早晨 我想问题就在标题里 我有一个脚本 它通过导入 CSV 的文件夹结构运行 与每个脚本一起工作 然后在完成后尝试删除它们 遗憾的是 其中很多都锁定在 PowerShell 上 而我删除它们的唯一方法就是关闭 PS 有什么方法可以卸载csv
  • 使用 shell_exec 将 PHP 转换为 Powershell

    如果我运行 output shell exec powershell get service dhcp 我得到了 dhcp 服务的完美输出 显示正在运行 但如果我运行 output shell exec powershell get use
  • 通过快捷方式更改桌面的 Powershell 脚本

    关于为什么从 w in PS 运行时有效 但从定义为以下的快捷方式运行时无效的任何想法和建议 SystemRoot system32 WindowsPowerShell v1 0 powershell exe File C Users bi
  • 隐藏powershell输出

    我有以下脚本 param 参数 强制 true 字符串 dest New Item force path dest 1 itemtype directory New Item force path dest 2 itemtype direc
  • 使用 PowerShell 修改 Visual Studio 解决方案和项目文件

    我们目前正在重新组织源代码 将内容移动到新目录中 结构 这会影响我们的 Visual Studio 解决方案和项目文件 其中诸如程序集引用 可能的输出目录 构建前和构建后事件等 必须更新以反映我们的更改 由于我们有许多解决方案和项目 我希望

随机推荐

  • 如何找到连续数字串的索引?

    我有一个数据框 我想在其中找到 5 个或更多零值的每个组合的开始和结束索引 基本上 如果字符串是 1 2 0 0 0 0 0 0 4 2 22 41 0 0 0 0 0 5 6 0 0 0 4 我希望有 startindiex endind
  • Delphi:for循环期间函数结果未清空

    这是正常的吗 for a 1 to 10 do x test x test x test x test function test string begin IFDEF DEBUG DebugMessage result check Res
  • 单击按钮后一定时间后执行某些操作

    我试图让一个对象在点击按钮后一定时间后从视图中消失 我对如何让对象在点击后执行某些操作有点困惑 我不确定我是否应该使用run loop or NSTimer 即使我知道该使用什么 我仍然很困惑如何在点击按钮后的某个时间让某些事情发生 在按下
  • 旧浏览器的真正占位符文本修复?

    我想使用 jQuery 代码来模拟旧浏览器的占位符文本 我找到了一些非常适合的人选 而且工作效果很好 然而 一个问题是解决方案倾向于输入占位符文本作为单元格值 直到用户输入 这意味着 如果提交 html 表单时任何字段均未更改 则占位符文本
  • Spring Cloud Stream 3.0存在生产者问题

    我阅读了有关spring cloud Stream 3 0的文档 了解了新使用java util function Supplier Function Consumer 来表示生产者 消耗者和生产者 消费者 这应该是正确的 但我不明白供应商
  • HashMap 冲突会导致调整大小吗?

    当放入 HashMap 期间发生冲突时 是否会调整映射大小 或者是否将条目添加到该特定存储桶中的列表中 当你说 碰撞 时 你指的是相同的哈希码吗 hashcode用于确定HashMap中使用哪个bucket bucket由所有具有相同has
  • 苹果单例查询示例?

    我对这段代码 在 CocoaFundamentals 指南中介绍 感到有点困惑 它在创建单例实例时覆盖了一些方法 static id sharedReactor nil id sharedInstance if sharedReactor
  • 字符串 - 克隆、复制和标准影响之间的区别

    我在浏览遗留代码时刚刚遇到这样的块 object exeName connectionSettings ApplicationName Clone RandomFunction exeName 起初这对我来说似乎没什么用 但它让我感到好奇
  • R 4.0.0及更高版本下使用向量动态更新公式

    我想使用 R 4 0 0 或更高版本下的向量动态更新公式 因此 一切都与此链接下的相同 R 动态更新公式 但 x 现在是一个向量 并且 R 版本 gt 4 0 简而言之 我有一个公式 例如y 1 并且希望通过字符标量 myvar1 或字符向
  • 我可以在 iOS 上使用 google Drive sdk 以及来自 google Sign-in sdk 的身份验证信息吗?

    我们已经有一个使用 Google Sign In sdk 的登录模块 Google 登录给出了GID认证登录成功后的对象 现在我想使用 googledrive sdk 访问用户的 googledrive 它需要 GTMOAuth2Authe
  • 我应该在 href="" 中使用 & 还是在 HTML4 和 HTML5 中 & 就足够了?

    我应该使用 amp in href or HTML4 和 HTML5 就够了吗 大多数浏览器都没有问题 但是应该如何完成呢 a href param1 1 param2 2 Call a Or a href quest param1 1 a
  • 从 Tkinter Tcl 回调 python 函数在 Windows 中崩溃

    这不完全是我的应用程序 但非常相似 我创建了这个测试代码来显示问题 基本上我试图从 python 线程调用 tcl proc 当结果准备好时 Tcl proc 将回调到 python 函数 该结果将作为事件发布到 wx 框架 当我作为纯 p
  • Android发布密钥库问题:“密钥库被篡改,或密码不正确”

    几个月前 我使用以下命令生成了 Android 版本密钥库 keytool genkey v keystore my release key keystore alias myalias keyalg RSA keysize 2048 va
  • 从最新到最旧读取事件日志

    我编写了一个简短的程序 使用启动和关闭时发布的事件日志消息来确定远程 PC 的正常运行时间 目前的逻辑是 foreach eventlogentry if entryTime gt OldestTime if entry Startup a
  • Spring MVC不加载css、js文件到静态html页面

    我禁用了该角色内部视图解析器为了访问一些静态页面 html not jsp页面 我做了所需的更改 确实我做了并且我可以访问我的html页面 但是当我看到浏览器的控制台时 它看起来好像没有带来我的本地css and js files 这是我的
  • 在 Ruby 中访问 JSON 对象 [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我有一个 json 文件 看起来像这样 Results Lookup null Result Paths Domain VALUE1 LTD Url Text1 Modules Name
  • 如何编辑文件夹/文件的修改日期?

    我正在使用 webdav 和 HttpWebRequest MKCOL 方法在 SP 中创建文件夹 我使用 WebClient 上传文件 对于上传的文件和创建的文件夹 如何设置其修改日期 我正在寻找类似的东西Directory SetLas
  • Swift 5:转义闭包捕获“inout”参数

    我已经有了从服务器收到的响应数据 这个响应数据有一些面包师数据 现在我想计算用户和面包店的距离 然后将其存储在同一个模态类中 我为它创建了一个函数 由于这个函数需要在 4 5 视图控制器中使用 我的计划是创建为 UIViewControll
  • 如何在 Python 中使用 ctypes 卸载 DLL?

    我正在使用 ctypes 在 Python 中加载 DLL 这很好用 现在我们希望能够在运行时重新加载该 DLL 直接的方法似乎是 1 卸载DLL 2 加载DLL 不幸的是我不确定卸载 DLL 的正确方法是什么 ctypes FreeLib
  • 创建自定义 Powershell 对象的多个实例

    我正在 Powershell 脚本中创建一个新对象 或者实际上是一个对象类型 我想创建该对象的多个实例 我该怎么做呢 下面的代码是我正在处理的代码 看起来数组中的所有实例都引用相同的对象 包含相同的值 Define output objec