检查 Outlook 是否可以使用 Powershell (GCCH) 访问

问题描述 投票:0回答:1

我需要每隔几分钟检查一下某些端点是否可以访问,只是为了监视防火墙更改是否可能影响连接。

我正在测试一些不同的 GCCH 端点,但我在使用 Outlook 时遇到困难。看来即使要获取状态代码,它也希望我登录。我不想使用此无人值守脚本传递凭据或任何内容。有没有更好的方法来实现 Outlook 的测试可达性?

$ExchangeURL = Invoke-WebRequest -Uri https://outlook.office365.us -DisableKeepAlive -Method head | select StatusCode 
$TeamsURL = Invoke-WebRequest -Uri https://gov.teams.microsoft.us -DisableKeepAlive -Method head | select StatusCode
$OneDriveURL = Invoke-WebRequest -Uri https://redacted-my.sharepoint.us -DisableKeepAlive -Method head | select StatusCode
$SharepointURL = Invoke-WebRequest -Uri https://redacted-admin.sharepoint.us -DisableKeepAlive -Method head | select StatusCode
$AdminURL = Invoke-WebRequest -Uri https://portal.office365.us -DisableKeepAlive -Method head | select StatusCode


$ExchangeURL
$TeamsURL
$OneDriveURL
$SharepointURL
$AdminURL

这给了我:

Invoke-WebRequest : The remote server returned an error: (401) Unauthorized.
At C:\Users\jimbob\Desktop\Test_URL.ps1:3 char:16
+ ... changeURL = Invoke-WebRequest -Uri https://outlook.office365.us -Disa ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand


StatusCode
----------
       200
       200
       200
       200
powershell url office365
1个回答
0
投票

您可以忽略401错误消息并说它可用。因为 401 意味着您到达服务器并且服务器响应您。但如果你得到 400、500、502、503 或其他什么,那么你可以说存在一些有问题的情况。

没有凭据,您无能为力。如果您不想在脚本中存储凭据,则可以使用 ConvertFrom-SecureString 和 ConvertTo-SecureString cmdlet,创建环境并从一些没有明确数据的 txt 中读取它。

您可以查看这里参考 -> Powershell加密1

也在这里 -> Powershell 加密 2

© www.soinside.com 2019 - 2024. All rights reserved.