我不确定为什么输出不能正常工作。有没有人能建议一下。基本上,数组可以工作,除了一个主要的问题。每次将新对象添加到数组中时,它都会用最后输入的对象替换数组中以前的所有对象。
我得到了我的对象数组,我只想让它将新的数据对象添加到数组中,而不是替换所有以前的条目并添加新的数据对象。
我不知道我做错了什么。
$RptInfo = New-Object Object -TypeName PSObject
Add-Member -MemberType NoteProperty -Name Counted -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name ItemName -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name ItemType -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name LineURI -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name RegistrarPool -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name Identity -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name Office -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name OfficeName -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name DisplayName -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name Location -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name VoicePolicy -Value "" -InputObject $RptInfo
Add-Member -MemberType NoteProperty -Name DialPlan -Value "" -InputObject $RptInfo
[array]$RptArray = @()
$VoicePolicy_Table = Get-CsUser | Where {$_.EnterpriseVoiceEnabled -eq $true} | Sort-Object -Property VoicePolicy | Group-Object -Property VoicePolicy, 'Voice Policy'
$DialPlan_Table = Get-CsUser | Where {$_.EnterpriseVoiceEnabled -eq $true} | Sort-Object -Property DialPlan | Group-Object -Property DialPlan, 'Dial Plan'
foreach ($VP in $VoicePolicy_Table) {
$RptInfo.Counted = $VP.Count
$RptInfo.ItemName = $VP.Name
$RptInfo.ItemType = 'Voice Policy'
$RptArray += $RptInfo
}
ForEach ($RPT in $RptArray) {
$RPT.ItemName
}
发布于 2018-06-05 19:05:31
对我来说,在一个步骤中迭代$VoidPolicy_Table和构建$RptArray,然后填充这三个属性看起来更严格:
$VoicePolicy_Table = Get-CsUser | Where {$_.EnterpriseVoiceEnabled -eq $true} | Sort-Object -Property VoicePolicy | Group-Object -Property VoicePolicy, 'Voice Policy'
$DialPlan_Table = Get-CsUser | Where {$_.EnterpriseVoiceEnabled -eq $true} | Sort-Object -Property DialPlan | Group-Object -Property DialPlan, 'Dial Plan'
$RptArray = ForEach ($VP in $VoicePolicy_Table) {
[PSCustomObject]@{
Counted = $VP.Count
ItemName = $VP.Name
ItemType = 'Voice Policy'
LineURI = ""
RegistrarPool = ""
Identity = ""
Office = ""
OfficeName = ""
DisplayName = ""
Location = ""
VoicePolicy = ""
DialPlan = ""
}
}
https://stackoverflow.com/questions/50689817
复制相似问题