我正在尝试执行下面的Powershell命令,以在Exchange服务器上使用名称,容器等参数创建新的地址列表。
class ParentClass
{
public void Display()
{
Console.WriteLine("Display method in Parent class");//second get executed
}
}
class ChildClass : ParentClass
{
public ChildClass(string x)//first get executed
{
Console.WriteLine(x);
}
public void Display1()
{
Console.WriteLine("Display method in Child class");
}
}
public class Program
{
public static void Main()
{
ParentClass P = new ChildClass("First get Executed");
P.Display();
Console.ReadKey();
}
}
是可选的输入/参数,如果未提供cmdlet的值,如何从cmdlet中忽略它?
我尝试了Container
个条件,但似乎不起作用。这里有帮助吗?
IF
答案 0 :(得分:2)
您可以通过 hashtable 传递所需的参数及其相应的值。添加If/Else
条件以包括属性。像这样:
$Container = '\test MyAddressList5'
$Parameters = @{}
$Parameters.Add('ConditionalStateOrProvince','maha')
$Parameters.Add('IncludedRecipients','MailboxUsers')
if($Container){$Parameters.Add('Container',$Container)}
New-AddressList @Parameters
此外,当您需要包含Switch
参数时,只需传递$True
。像这样:
$Parameters.Add('SomeSwitchParameter',$True)
答案 1 :(得分:0)
在-Container
中查看New-AddressList
参数的文档:https://docs.microsoft.com/en-us/powershell/module/exchange/email-addresses-and-address-books/new-addresslist?view=exchange-ps#optional-parameters
特别是:
如果不使用此参数,则在根(\)下创建地址列表。
...
默认值:无
$container = $null
New-AddressList -Container $container
# or...
$container = "\"
New-AddressList -Container $container
答案 2 :(得分:-1)
看看Get-Help *splatting
,看看有什么方法。
更详细一点……“ splat”是parameter = value
对的哈希表。一旦有了最基本的总是存在的项目,就可以像$Param_Splat.Add(ParameterName, 'Value')
一样将其他项目添加到任何哈希表中。然后,当您调用cmdlet时,您将使用Verb-Noun @Param_Splat
。请注意,@
符号而不是通常的$
。 [咧嘴]
保重,
李