2013-11-21 55 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,以獲得關於它們如何工作的完整概要。