0

下面的函数应该将传递的参数和值添加到哈希表中,以便稍后在设置实际属性时使用。. . 由于我无法理解的原因,哈希表只显示一次,只有一组属性。

我试图让它为每个用户传递所有的值,但它只为一个用户做。

Function Change-DRAUserProperty {
    Param (
        
        [Parameter(Mandatory=$true,
                   ValueFromPipeline=$true,
                   ValueFromPipelineByPropertyName=$true)]
        [string[]]$UserName,

        $Company,
        $Department,
        $DisplayName,
        $Name,
        $O, 
        $PhysicalDeliveryOfficeName,
        $TelephoneNumber,
        $Title
    )
    Begin 
    {
        $OrgBoxOu   = "*OU=XX, DC=XX"
        $Parameters = $PSBoundParameters
        $Properties = @{}
    }
    Process 
    {
        foreach ($User in $UserName) 
        {    
             try {
                $SelectedUser = $User
                    if ($SelectedUser) {
                        $Parameters.GetEnumerator() | Where-Object Key -ne 'UserName' | 
                            ForEach-Object -Process `
                            {

                                if ($_.Key -eq 'DisplayName' -and $SelectedUser.DistinguishedName -notlike $OrgBoxOu) {
                                    $Properties.Add('FirstNamePreferred', $_.Value) 
                                }

                                $Properties.Add($_.Key, $_.Value) 

                            }
                        
                        $Properties
                        #Set-DRAUser -Identifier $SelectedUser.DistinguishedName -Properties $Properties @DRA_Server_Splat -ErrorAction Stop
                    }

                    else {
                        Write-Host -Object "No valid member selected!"
                    }
                
             }
             catch {
                
                Write-Host -Object "$($_.Exception.Messge)" -ForegroundColor Red -BackgroundColor Black
                continue
             }
                
        }

    }
    End { }
}

使用命令行参数:Change-DRAUserProperty -UserName Abe, Abe2, Abe3 -Company SSC -Department USSF

. . .only 显示:

Name                           Value                                                                                                                                                                                                                             
----                           -----                                                                                                                                                                                                                             
Department                     USSF                                                                                                                                                                                                                              
Company                        SSC     

而不是每个用户传递一个(结果应该是什么):

Name                           Value                                                                                                                                                                                                                             
----                           -----                                                                                                                                                                                                                             
Department                     USSF                                                                                                                                                                                                                              
Company                        SSC     
Name                           Value   
                                                                                                                                                                                                                          
----                           -----                                                                                                                                                                                                                             
Department                     USSF                                                                                                                                                                                                                              
Company                        SSC     

Name                           Value                                                                                                                                                                                                                             
----                           -----                                                                                                                                                                                                                             
Department                     USSF                                                                                                                                                                                                                              
Company                        SSC     

不太确定我可能做错了什么,我可以让其他人看看并指出我的错误吗?

我要疯了伙计们?

4

0 回答 0