2013-11-21 53 views
0

所以我有下面的代码,其中有一个foreach循环来拉取一些组成员数据。在代码结束时,我想重新计算数据并重新写入以进行确认。我想知道保持这种简洁和简洁的最佳方式是什么?我知道在Java中,例如,我只是创建一个方法并每次调用它,但我不确定在PowerShell中是否保持true。PowerShell脚本中的嵌入式功能

我道歉,如果我滥用术语 - 我想,我沿着

$User = read-host -Prompt "User Name" 
$user_dn = (get-mailbox $user).distinguishedname 

"Finding all groups that $user is a member of..." 

$membership = foreach ($group in get-distributiongroup -resultsize unlimited){ 
    if ((get-distributiongroupmember $group.identity | select -expand distinguishedname) -contains $user_dn) 
     {$group.alias} 
} 
" " 
"----------------------" 
$membership 
"----------------------" 
" " 

"Would you like to remove $user from all distribution groups? Press 1 for yes, or 2 for no." 
$opt = read-host "1 - yes, 2 - no" 
write-host $opt 
switch ($opt){ 
1{ 
foreach ($a in $membership){ 
    Remove-DistributionGroupMember -Identity $a -Member $user 
    } 
} 
2{ 
"No action taken. Goodbye" 
} 
} 

回答

0

是的,你可以在PowerShell中定义函数。查看Get-Help About_Functions以获取如何编写它们的教程。另外,请记住,在脚本中调用之前,必须先定义函数。我通常只是在脚本的顶部定义所有我的功能。

0

是去挑选这件事,在PowerShell中正确的术语,你需要的是一个功能。

您可以在Powershell提示符下运行命令Help About_Functions,以获得关于它们如何工作的完整概要。