当您在 Exchange 管理控制台 GUI 中执行某些操作时,会出现一个窗口,显示执行该操作所执行的 PowerShell 命令。这对于学习如何创建 PowerShell 脚本来执行相同操作非常有用。
有没有办法获取在 Exchange 中执行次要操作的 PowerShell 命令,例如仅在属性对话框中更改各种属性?
从一些答案中,我可以说我的问题不清楚。我指的是具有 GUI 的 Exchange 管理控制台,而不是基于 PowerShell 的 Exchange 管理 Shell。在控制台中,当您执行使用向导的操作(例如添加新用户)时,最终对话框会显示一个文本框,其中包含在后台执行的 PowerShell 命令。我想知道在 GUI 中执行小操作时是否可以获取这些命令。
答案1
如果您设置了启用日志记录的注册表项,Exchange 命令行管理程序将记录其执行的所有 PowerShell 命令。这些命令将记录到 PowerShell 文件夹中的事件查看器中。
可以通过以下方式设置密钥:
HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.Exchange.Management.PowerShell.Admin
使用 Regedit 并创建一个名为LogpipelineExecutionDetails
“1”的字符串值。
还可以使用以下 PowerShell 命令创建此注册表值:
Set-ItemProperty HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns\Microsoft.Exchange.Management.PowerShell.Admin -Name LogpipelineExecutionDetails -value 1
答案2
您可以在 Powershell 中的任何项目上运行 get-member 命令,以获取该对象的所有属性和操作,例如,以下命令将显示邮箱上可用的所有属性、特性和操作:
get-mailbox bob | get-member
您可以获取以下所有 Exchange Powershell 命令的列表:科技网。
答案3
获取ex命令
您将看到有关 368 个 cmdlet 的信息。您可以使用以下命令进行确认:
(获取 ex 命令).count
要重点搜索相关的 Exchange 命令,请在 get-command 命令中使用通配符。例如,要查找与 POP3 配置类型相关的命令
*获取命令 *弹出**
它返回名称中包含字符序列 pop 的任何 cmdlet 的信息。将显示相关命令。
阿纳波洛杰托斯
答案4
您可能需要使用“set-user”命令。我的脚本中有一个例子:
设置用户-Identity“CN = $ displayName,CN = Users,DC = contoso,DC = edu”-城市$ City -部门“$ department”-办公室$ office -电话“$ phone”-街道地址“$ POBox`r`n $ Office`r`n $ Department”-州或省$ State -邮政编码$ ZipCode