gpt4 book ai didi

powershell - 如何在 Exchange Online 的 Powershell 代码中将字符串转换为 bool 值?

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

我的代码是:

Import-Csv "$env:userprofile\Desktop\ExternalContacts.csv"| foreach {New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName | Set-MailContact -Identity $_.Name -HiddenFromAddressListsEnabled $_.HiddenFromAddressListsEnabled}

我得到了:

无法处理参数“HiddenFromAddressListsEnabled”的参数转换。无法将值“System.String”转换为类型“System.Boolean”,此类型的参数只接受 bool 值或数字,请使用 $true、$false、1 或 0 代替。

这是我在记事本中查看的 CSV 文件的前两行:

姓名、名字、姓氏、ExternalEmailAddress、HiddenFromAddressListsEnabled
Ted Testington,Ted,Testington,ted.testington@blah.com,$true

如何进行必要的转换?

谢谢。

最佳答案

小心-as。它仅在字符串为 01 时有效。

("FALSE") -as [bool][bool]("FALSE") 都将返回 True!

最好用

[System.Convert]::ToBoolean("FALSE")
[System.Convert]::ToBoolean("False")
[System.Convert]::ToBoolean(0)

或解析

[bool]::Parse("FALSE")
[bool]::TryParse("FALSE", $outputVariable) # Will not raise an exception if the parse fails

Parse 仅适用于字符串作为参数。

关于powershell - 如何在 Exchange Online 的 Powershell 代码中将字符串转换为 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983810/

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