【发布时间】:2020-07-14 10:33:02
【问题描述】:
所以我的任务是编写一个 PS 脚本,输出数据库文件的位置。文件的位置是:
C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox database Name\Mailbox database Name.edb
我想我可以通过
获取我的 Exchange 数据库的名称Get-MailboxDatabase | fl Name
有输出:
Mailbox Database 0161713049
这是数据库的名称,但实际名称前后有一堆看不见的字符。
所以我的问题是,我怎样才能摆脱这些隐形字符?我想连接一个字符串使其看起来像这样:
C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 0161713049\Mailbox Database 0161713049.edb
我也需要此代码在具有完全不同数据库名称的服务器上工作,因此只需从开头删除不需要的字符 .Remove() 可能会有所帮助,但因为我不确定名称的长度数据库,我不能删除最后的字符。
我也无法摆脱这样一种感觉,即有一种更简单的方法可以获取我的 .edb 文件的位置。
【问题讨论】:
-
如果您要进一步处理输出,则不应使用
format-*命令(fl是format-list的别名),因为它们应用了更改输出对象的特殊格式。相反,请使用Get-MailboxDatabase | Select -Expand Name。 -
自 2013 年以来我就没有与 Exchange 合作过,但当时是
Get-MailBoxDatabase -Status |Select -Expand EDBFilePath
标签: string powershell location substring exchange-server