当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 读出 OneDrive 存储

作者:精品下载站 日期:2024-12-14 08:12:35 浏览:17 分类:玩电脑

读出 OneDrive 存储


[玩转系统] 读出 OneDrive 存储

您从事 IT 管理工作并管理 OneDrive 帐户吗?这个话题涉及很多工作!特别是对于正在扩张的公司和已经很大的公司来说,值得研究一下自动化和监控如何在这一领域提供帮助。此外:谁愿意通过图形界面手动点击无聊的日常任务?

这种“日常事务”常常占用太多时间。不要误会我的意思:标准操作应该被视为优先。这正是为什么在智能脚本的帮助下让您的生活变得更轻松很重要。许多管理任务可以自动化。您将减少错误的数量(毕竟,手动任务中的错误是人为的),并且还可以更好地利用您的时间,甚至可能腾出一些时间

使用 PowerShell 检索存储使用情况

这项日常工作的一项任务是 M365 的管理。近年来,随着越来越多的公司追随OneDrive潮流,使用强度不断上升,有限的存储容量让一些用户面临极限。如果现在缺乏中央监控,您就有可能陷入纯粹“对问题做出反应”的模式,不得不救火,却很少能够主动应对挑战。

标题为“OneDrive 不再工作”或“驱动器损坏”的票证将会更频繁地弹出,此时您可以通过管理界面查看所有员工的 OneDrive 驱动器,并且意识到他们只是饱了。通过监控可以避免不必要的任务。

只需几行代码,您就有机会先发制人地干预此过程 - 在帐户填满时、存储使用量突然激增时立即收到通知,或者测量存储使用量在数月和数年中的变化情况。盲点(就在线存储使用而言)消失了!

我到底想在这里展示什么?

使用 PowerShell 检查并管理用户存储的智能方法。

有什么要求?

您只需要 PowerShell 的 SharePoint 模块访问 SharePoint 管理门户。我稍后将向您展示如何安装该模块。通过门户,您还可以找到您的管理 URL(如果尚不知道)。这对应于管理中心的域,并且是从 PowerShell 登录过程所需要的。就我而言,这是:“learningitdotio-admin.sharepoint.com”。

[玩转系统] 读出 OneDrive 存储

我们可以使用这个 URL 登录:

# ModuleCheck: Installs PSTeams if not available
if(-not (Get-Module -ListAvailable Microsoft.Online.SharePoint.PowerShell)) {
    Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force
}
else {
    Write-Verbose "Microsoft.Online.SharePoint.PowerShell is already installed."
}


# Defining Admin URL
$adminurl = "https://learningitdotio-admin.sharepoint.com"

# Connect to SharePoint-Site
Connect-SPOService -Url $adminURL

现在我们已经成功连接到SharePoint,问题是如何获取用户的OneDrive信息。通过改变URL,我们就可以获得相应的信息。为此,只需将用户包含在 URL 中(以正确的格式),您需要该用户的邮件地址。将字符串“/personal/”附加到已知的管理 URL 并在末尾添加邮件地址,用下划线替换所有使用的标点符号。因此,“[email protected]”将生成以下 URL:

如果所有必需的邮件或 UPN 现在都可用,您可以在循环中创建此 URL,然后访问这些 URL。对于访问,我们使用 cmdlet“Get-SPOSite”并将 URL 指定为“Identity”。使用管道选择,我们可以提前过滤数据。查询如下所示:

$user = 'https://learningitdotio-my.sharepoint.com/personal/tterraform_learningitdotio_onmicrosoft_com'

$information = Get-SPOSite -Identity $user | 
    Select-Object Owner, StorageUsageCurrent, StorageQuota, Status

如果前面的步骤中身份验证成功,则在查询 $information 变量时应该得到如下输出:

[玩转系统] 读出 OneDrive 存储

我们获取有关所有者、站点状态的信息,并了解站点有多大或占用了多少容量,因为我们想知道是否有人接近其存储限制。

由于我们现在想知道已使用或可用空间的百分比,并且数据应以 GB 为单位,因此我们添加了各种算术计算:

# ModuleCheck: Installs PSTeams if not available
if(-not (Get-Module -ListAvailable Microsoft.Online.SharePoint.PowerShell)) {
    Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force
}
else {
    Write-Verbose "Microsoft.Online.SharePoint.PowerShell is already installed."
}



# Defining Admin URL
$adminurl = "https://learningitdotio-admin.sharepoint.com"

# Connect to SharePoint-Site
Connect-SPOService -Url $adminURL
$user = 'https://learningitdotio-my.sharepoint.com/personal/tterraform_learningitdotio_onmicrosoft_com'

# Get Information
$information = Get-SPOSite -Identity $user | 
    Select-Object Owner, StorageUsageCurrent, StorageQuota, Status

# Calculating
$UsedGB = $information.StorageUsageCurrent / 1024
$TotalGB = $information.StorageQuota / 1024
$UsedPer = $UsedGB / $TotalGB * 100

结论

您现在拥有一个可用于监视 OneDrive 和 SharePoint 环境的模板。通过这种方式,您将及时注意到存储已满 - 甚至在超出限制之前、发生故障之前以及发生故障之前。各个用户开始写票。

另一个需要考虑的步骤是将此查询链接到团队 Webhook。借助 Webhook,您可以使用 PowerShell 在发生事件(例如 OneDrive 存储空间已满)时立即向您发送 Teams 消息。

请在此处阅读有关 webhook 的系列文章:

  • 第 1 部分 - 简介:通过 PowerShell 进行 Teams Webhooks - 现代警报
  • 第 2 部分 - SendMessage2Channel:发送 Teams Webhook 的复杂方法
  • 第 3 部分 - Teams 自适应卡:使用 PowerShell 进行证书监控

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯