String 创建包含已定义子字符串的新PowerShell字符串

String 创建包含已定义子字符串的新PowerShell字符串,string,variables,powershell,String,Variables,Powershell,我已经找到了很多方法来从带有子字符串的字符串中检索数据,但我想做的是创建一个新的字符串,该字符串包含子字符串。原因是我想通过Export-CSVcmdlet将该字符串传递给CSV。这是在PowerShell窗体创建的应用程序中 所以计划是 1). 阅读每个文本框的内容: (例如,$endusername.text$endusernumber.text$locationname.text) 2) 。将这些存储到具有子字符串的新字符串中 ($formoutput.endusername$formou

我已经找到了很多方法来从带有子字符串的字符串中检索数据,但我想做的是创建一个新的字符串,该字符串包含子字符串。原因是我想通过
Export-CSV
cmdlet将该字符串传递给CSV。这是在PowerShell窗体创建的应用程序中

所以计划是 1). 阅读每个文本框的内容: (例如,
$endusername.text
$endusernumber.text
$locationname.text

2) 。将这些存储到具有子字符串的新字符串中 (
$formoutput.endusername
$formoutput.endusernumber
$formoutput.locationname

3) 。将字符串输出到.CSV文件

Export-CSV -InputObject $formoutput "c:\output\formoutput.csv"

基本上,如果我使用任何现有的cmdlet(例如,
Get Mailbox
),将其输出存储为字符串,然后以上面解释的方式将该字符串传递给
Export CSV
,它的执行方式与我喜欢的完全相同-创建一个.CSV,其中每个子字符串都作为一列,以及相应标题列中该子字符串的内容。我只想用一个包含我定义的子字符串的字符串就可以做到这一点。

我想你有点混淆了术语。听起来你想要的是一个自定义对象而不是字符串。下面是一些伪代码,让您朝着正确的方向前进:

$formOutput = New-Object PsCustomObject -Property @{'EndUserName' = $endUserName.Text;
                                                    'EndUserNumber' = $endUserNumber.Text;
                                                    'LocationName' = $locatioName.Text}
$formOutput | Export-CSV .\FileName.csv -NoTypeHeader

您可以创建包含字符串的对象。这是处理它的一种方法。如果您有更新版本的powershell 3.0+,则可以使用
[pscustomobject]
。其中任何一个都可以轻松导出为CSV。除非您想向
Get Mailbox
添加任何内容,否则您可以立即导出该数据
Get Mailbox-Identity user |选择名称、电子邮件地址|导出Csv“c:\filepath.Csv”-NoTypeInformation