我正在尝试为每个脚本创建一个规则,但我无法继续,因为我似乎达到了太高的价值......
[PS] C:\ Users \ XXX \ Desktop> New-InboxRule -Mailbox“Daniel.XXX” -Name“Test”-SubjectOrBodyContainsWords {“Value1”,“Value2”,“Value3”,“Value4”,“Value5”,“Value6”,“Value7”,“Value8”,“Value9”,“Value10” “Value11”, “Value12”, “Value13”, “Value14”, “Value15”, “Value16”, “Value17”, “Value18”, “alue19”, “Value20”, “Value21”, “Value22”,” Value23" , “Value24”, “Value25”, “alue26”, “Value27”, “Value28”, “Value29”, “值30”, “Value31”, “VALUE32”, “alue33”, “Value34”, “Value35” “Value36”, “Value37”, “alue38”, “Value39”, “Value40”, “Value41”, “Value42”, “Value43”, “Value44”, “Value45”, “Value46”, “Value47”,” Value48" , “Value49”, “alue50”, “Value51”, “Value52”, “Value53”, “Value54”, “Value55”, “Value56”, “Value57”, “Value58”} -ApplyCategory“Common CA”-WHATIF
Invoke-Command:无法将参数'SubjectOrBodyContainsWords'绑定到 目标。例外设置“SubjectOrBodyContainsWords”:“The 物业的长度太长。 最大长度为255和 提供的值的长度为570 。“AtC:\ Users \ XXX \ AppData \ Roaming \ Microsoft \ Exchange \ RemotePowerShell \ XXXXXXXXXXXXX.psm1:20346 焦炭:29 + $ scriptCmd = {& <<<< $ script:InvokeCommand` + CategoryInfo:WriteError:(:) [New-InboxRule],ParameterBindingException + FullyQualifiedErrorId:ParameterBindingFailed,Microsoft.Exchange.Management.RecipientTasks.NewInboxRule
如果我要设置具有可接受值的规则并在Exchange控制面板中查看它,我只会将文本视为一个值(一个大字符串)而不是多个值(如果我要创建它则显示通过GUI)......
我做错了什么?
答案 0 :(得分:1)
根据about_Parsing帮助文件:
处理命令时,Windows PowerShell解析器会运行 在表达模式或参数模式中:
- In argument mode, each value is treated as an expandable string unless it begins with one of the following special characters: dollar sign ($), at sign (@), single quotation mark ('), double quotation mark ("), or an opening parenthesis (().
由于您对SubjectOrBodyContainsWords
参数的参数以{
开头,因此解析器会将整个列表视为一个大字符串。只需删除大括号(或用常规括号替换):
New-InboxRule -Mailbox 'Daniel.XXX' -Name 'Test' -SubjectOrBodyContainsWords ("Value1","Value2","Value3","Value4","Value5","Value6","Value7","Value8","Value9","Value10","Value11","Value12","Value13","Value14","Value15","Value16","Value17","Value18","alue19","Value20","Value21","Value22","Value23","Value24","Value25","alue26","Value27","Value28","Value29","Value30","Value31","Value32","alue33","Value34","Value35","Value36","Value37","alue38","Value39","Value40","Value41","Value42","Value43","Value44","Value45","Value46","Value47","Value48","Value49","alue50","Value51","Value52","Value53","Value54","Value55","Value56","Value57","Value58")
为了使命令更具可读性,我可能事先将可能的值分配给数组:
$SOBCWords = @(
"Value1",
"Value2",
"Value3",
# etc
"Value56",
"Value57",
"Value58"
)
New-InboxRule -Mailbox "Daniel.XXX" -Name "Test" -SubjectOrBodyContainsWords $SOBCWords -ApplyCategory "Common CA" -WHATIF