그래서 제 임무는 데이터베이스 파일의 위치를 출력하는 PS 스크립트를 작성하는 것입니다. 파일의 위치는 다음과 같습니다.
C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox database Name\Mailbox database Name.edb
내 Exchange 데이터베이스의 이름을 얻을 수 있다고 생각했습니다.
Get-MailboxDatabase | fl Name
출력이 있습니다.
Mailbox Database 0161713049
이것은 db의 이름이지만 실제 이름 앞뒤에 보이지 않는 문자가 많이 있습니다.
그래서 제 질문은,이 보이지 않는 캐릭터를 어떻게 제거 할 수 있을까요? 문자열을 연결하여 다음과 같이 만들고 싶습니다.
C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 0161713049\Mailbox Database 0161713049.edb
완전히 다른 데이터베이스 이름을 가진 서버에서도 작동하려면이 코드가 필요하므로 .Remove ()로 처음부터 원하지 않는 문자를 제거하는 것이 도움이 될 수 있지만 데이터베이스 이름의 길이를 확실히 알지 못하기 때문에 , 마지막에있는 문자를 제거 할 수 없습니다.
또한 내 .edb 파일의 위치를 찾는 훨씬 더 간단한 방법이 있다는 느낌을 없앨 수 없습니다.
Powershell은 거의 모든 출력을 해시 테이블 형식의 속성이있는 개체로 처리합니다 @{Name=MYEXCHDB}
. 대신 속성 값을 문자열로 원할 때 @AdminOfThings가 제안하는 것처럼 확장해야합니다.
Get-MailboxDatabase | Select-Object -ExpandProperty Name
이름을 문자열로 연결하려면 :
$myString = "C:\path\to\$(Get-MailboxDatabase | Select-Object -ExpandProperty Name)"
@ mathias-r-jessen이 제안했듯이 데이터베이스 경로는 직접 얻을 수있는 또 다른 속성입니다.
Get-MailboxDatabase | Select-Object -ExpandProperty EdbFilePath | Select-Object -ExpandProperty PathName
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다