【问题标题】:How to create Microsoft.Exchange.Data.Unlimited<T> structure with Powershell?如何使用 Powershell 创建 Microsoft.Exchange.Data.Unlimited<T> 结构?
【发布时间】:2019-12-23 13:15:18
【问题描述】:

我正在开发一个 powershell 脚本来修改一些 Microsoft Exchange 邮箱。我想在我的函数中添加一个数据类型为“ByteQuantifiedSize”的参数,因为它用于邮箱配额。

一个简单的例子:

function generateSubscriptionInformation
{
param(            
    [Parameter(Mandatory=$true)][Microsoft.Exchange.Data.ByteQuantifiedSize]$StandardQuota         
)
write-host $StandardQuota
}
generateSubscriptionInformation -StandardQuota 12345 #works
generateSubscriptionInformation -StandardQuota unlimited #doesn't work

如何通过参数设置无限值?也请看https://docs.microsoft.com/en-us/previous-versions/exchange-server/exchange-150/ff340799%28v%3dexchg.150%29

我无法创建无限的值或变量,例如

1。 new-object "Microsoft.Exchange.Data.Unlimited`1[[Microsoft.Exchange.Data.ByteQuantifiedSize, Microsoft.Exchange .Data,Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]"

  1. New-Object 'Microsoft.Exchange.Data.Unlimited[ByteQuantifiedSize]'

谁能帮忙?

【问题讨论】:

    标签: .net powershell exchange-server


    【解决方案1】:

    试试这个:

    $typeParam    = [Microsoft.Exchange.Data.ByteQuantifiedSize]
    $concreteType = [Microsoft.Exchange.Data.Unlimited`1].MakeGenericType(@($typeParam))
    $unlimitedBQS = [System.Activator]::CreateInstance($concreteType)
    

    【讨论】:

    • 非常感谢您的回复。我可以按照您的建议成功创建一个变量。不幸的是,默认值似乎是unlimited=$false。如何将变量设置为无限制?属性 isUnlimited 不允许修改值。
    • @PSaR 您可能还必须将参数声明为[Microsoft.Exchange.Data.Unlimited[Microsoft.Exchange.Data.ByteQuantifiedSize]] 类型
    • 谢谢您,Mathias R. Jessen。这就是解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-01-10
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多