各 Exchange データベースで空白を見つけるためにこの powershell コマンドを使用していますが、バッチ経由で実行することはできません。
動作確認済みのシェルコマンドは次のとおりです。
get-mailboxdatabase -status |
select name,
@{Name="DataBaseSize";Expression={ "{0:N2} GB" -f (($_.DatabaseSize.ToBytes()) / 1gb) }},
@{Name="AvailableNewMailboxSpace";Expression={ "{0:N2} GB" -f(($_.AvailableNewMailboxSpace.ToBytes()) / 1gb) }},
@{Name="Difference";Expression={ "{0:N2} GB" -f (($_.DatabaseSize.ToBytes() - $_.AvailableNewMailboxSpace.ToBytes()) / 1gb) }}
Shell コマンドを実行するバッチは次のとおりです。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 'D:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto;
シェル コマンドの文字がバッチと連携していないと考えており"^"
、失敗するところを試してみました。どんな助けでも大歓迎です。私はバッチとパワーシェルの両方にかなり慣れていないので、小さな言葉を使ってください:)
新しい情報: こんにちは、ご協力ありがとうございます。なぜ私がバッチでこれをやろうとしているのかという最初の質問に答えるのは、これが私が達成しようとしているステップの 1 つに過ぎないからです。この PowerShell コマンドを .txt ドキュメントに出力して、それに対して FOR ループを実行し、パラメータを html ファイルに書き込んで、IT チームに毎日ブラットしてホワイトスペースの成長を監視できるようにします。また、私が受け取っているエラー コードは、あなたの推測とは関係がなく、含めなかったことをお詫びします。エラー コードは次のとおりです。式またはステートメント内の予期しないトークン ':N2'。コマンドから「:N2」を削除すると、「GB」について不平を言い、最後に「GB」を削除すると、「DataBaseSize」という用語について不平を言います。だから私はここ数時間であなたの解決策を試してみます.
新しいエラー:
Bevels の提案を使用して実行すると、次のエラーが表示されます。
C:\temp2>Whitespace.bat 「get-mailboxdatabase」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。
At C:\temp2\Whitespace.ps1:1 char:20
+ get-mailboxdatabase <<<< -status |select name, @{Name="DataBaseSize";Express
ion={ "{0:N2} GB" -f (($_.DatabaseSize.ToBytes()) / 1gb) }}, @{Name="AvailableN
ewMailboxSpace";Expression={ "{0:N2} GB" -f(($_.AvailableNewMailboxSpace.ToByte
s()) / 1gb) }}, @{Name="Difference";Expression={ "{0:N2} GB" -f (($_.DatabaseSi
ze.ToBytes() - $_.AvailableNewMailboxSpace.ToBytes()) / 1gb) }}
+ CategoryInfo : ObjectNotFound: (get-mailboxdatabase:String) [],
CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
get-mailboxedatabase という用語について不平を言っていますが、これは CDMLET です。うーん....
ジョエスフ
C:\temp2>. 「C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps 1」「.」内部または外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
C:\temp2>Connect-ExchangeServer -auto 'Connect-ExchangeServer' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
C:\temp2>$properties = @( '$properties' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
C:\temp2>"name" '"name"' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。'{Name' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。'{Name' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。'{Name' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
C:\temp2># このファイルをファイル サーバーのどこかに置くことをお勧めします。'#' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
C:\temp2>$pathToFile = "\server\share\Some\Path\To\File.html" '$pathToFile' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
C:\temp2>$data = Get-mailboxdatabase -status | $プロパティを選択 | ソートオブジェクト名 | ConvertTo-Html | Set-Content $pathToFile - '$data' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。
このデータベースをオフラインにし、デフラグを実行してスペースを解放するだけです。このクレイジーなアイデアから監視しようとする代わりに。