【发布时间】:2019-02-12 23:00:30
【问题描述】:
我正在创建一个 Powershell 脚本,可用于将邮箱转换为 Office 365 中的共享邮箱。但首先我想检查邮箱的状态是否为共享。
如果我运行这个命令,我会得到答案:
Get-Mailbox -identity $user | select-object IsShared
IsShared
--------
False
所以我想使用这个在这种情况下为 False 的值。
$user = Read-Host -Prompt "What mailbox to check?"
$status = Get-Mailbox -identity $user | select-object IsShared
If ($status -eq "false")
{Write-Host "$user status is NOT shared"}
Else
{write-host "$user status is shared"}
问题是我只收到最后一条消息作为回报。即使我更改此代码:
If ($status -eq true)
所以显然我需要改变一些东西。但是什么?
【问题讨论】:
-
这不是一个字符串
"true"/"false"(注意引号)它是一个布尔值$true/$false所以你需要像这样检查它:$status -eq $false -
好的,谢谢您的意见。我更改了它,现在删除了引号并在前面添加了 $-sign: If ($status -eq $false) 但我仍然得到相同的输出。而不是正确的输出
-
您将遇到另一个问题。在进行比较之前,您需要先扩展对象的值。
...| select-object -ExpandProperty IsShared -
@Matt 谢谢,这似乎成功了
标签: powershell office365