gpt4 book ai didi

powershell - 如何修复@{DisplayName=Firstname Lastname}

转载 作者:行者123 更新时间:2023-12-03 12:20:52 25 4
gpt4 key购买 nike

@{DisplayName=Firstname Lastname} 需要只是 'Firstname Lastname' 因为 get-mailbox -identity '@{DisplayName=Firstname Lastname} 不起作用.

我尝试使用 -replace cmdlet 删除文本。

$Olduser = Get-MsolUser -all | Where-Object {$_.BlockCredential -eq $True -and $_.isLicensed -eq $false} | Select-Object displayName,userPrincipalName,BlockCredential,isLicensed

$OldUser | fl *

使用 -replace,我预计输出将没有“@{DisplayName}”


Cannot process argument transformation on parameter 'Identity'. Cannot convert value "@{DisplayName=X X}" to type "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter". Error: "Cannot conve
rt the "@{DisplayName=X X}" value of type "Deserialized.Selected.Microsoft.Online.Administration.User" to type "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter"."
+ CategoryInfo : InvalidData: (:) [Get-Mailbox], ParameterBindin...mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-Mailbox
+ PSComputerName : outlook.office365.com

最佳答案

您正在将具有属性的对象类型传递给只需要一个值的参数 (-Identity)。结果,PowerShell 将该对象转换为字符串,结果为值 @{DisplayName=Firstname Lastname}。如果您在将 DisplayName 属性传递给 -Identity 参数之前访问它,您的问题将得到解决。

Get-Mailbox -Identity $OldUser.DisplayName
# Or
$OldUser.DisplayName | Get-Mailbox

您可以通过在控制台键入以下内容来复制类似的行为:

[string]$OldUser

关于powershell - 如何修复@{DisplayName=Firstname Lastname},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58340935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com