Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

PowerCLI でコマンド作業履歴を残す方法

$
0
0

PowerCLIで作業履歴(TeraTermログ的な)を残すには、
「Start-Transcript」 というコマンドレットが便利です。

これはPowerCLI 特有のコマンドではなく、ベースであるPowerShellの標準的なコマンドレットです。

 

下記のようにコマンド実行すると、コマンド実行結果がファイルに保存されます。

PowerCLI> Start-Transcript <ログ出力ファイル名>

※出力を停止するときは、「Stop-Transcript」を実行します。

 

実行例

 

PowerCLIのコマンド実行結果をファイルに残してみます。

ためしに、「powercli.log」というファイルに出力します。

PowerCLI C:\work> Start-Transcript powercli.log  ★ファイルへの出力開始
トランスクリプトが開始されました。出力ファイル: powercli.log
PowerCLI C:\work> Get-VMHost | select Name,PowerState | ft -AutoSize  ★適当にコマンド実行

Name              PowerState
----              ----------
esxi51n2.vs51.lab  PoweredOn
esxi51n1.vs51.lab  PoweredOn


PowerCLI C:\work> Stop-Transcript  ★ファイルへの出力を終了
トランスクリプトが停止されました。出力ファイル: C:\work\powercli.log
PowerCLI C:\work>

コマンド実行結果の出力を見てみます。

PowerCLI C:\work> type .\powercli.log
**********************
Windows PowerShell トランスクリプト開始
開始時刻: 20130606012555
ユーザー名  : WIN7PC-01\testuser1
コンピューター    : WIN7PC-01 (Microsoft Windows NT 6.1.7601 Service Pack 1)
**********************
トランスクリプトが開始されました。出力ファイル: powercli.log
PowerCLI C:\work> Get-VMHost | select Name,PowerState | ft -AutoSize

Name              PowerState
----              ----------
esxi51n2.vs51.lab  PoweredOn
esxi51n1.vs51.lab  PoweredOn


PowerCLI C:\work> Stop-Transcript
**********************
Windows PowerShell トランスクリプト終了
終了時刻: 20130606012610
**********************
PowerCLI C:\work>

※かならず「Stop-Transcript」で出力を停止してから確認します。

 「Start-Transcript」したままファイルを表示すると、

 ファイル内容表示→ファイルに出力→ファイル内容表示... のループになってしまいます。

 

なお、「Stop-Transcript」を実行しなくても、

PowerCLIの画面を閉じれば、自動的にファイルへの出力も停止します。

 

おまけ


PowerCLI(PowerShell)では、ユーザ名やタイムスタンプが取得できます。
こういった情報をファイル名の一部として指定すると便利です。

 

★PowerCLIを実行しているコンピュータ名

PowerCLI> $Env:COMPUTERNAME
WIN7PC-01

★現在のタイムスタンプ

PowerCLI C:\work> Get-Date -Format "yyyyMMddHHmmss"
20130606013128

★PowerCLIを実行しているWindowsユーザ名

(testuser1というユーザでPowerCLIを実行しているWindowsにログイン中)

PowerCLI C:\work> $Env:USERNAME
testuser1

★PowerCLIからvCenterに接続しているユーザ名

(vcadminというユーザで、vCenterに接続中)

PowerCLI C:\work> (Get-View "SessionManager").CurrentSession.FullName.Trim()
vcadmin


たとえば、下記コマンドラインのようにファイル名を指定すると、
「WIN7PC-01_testuser1_20130606013254_ps.log」といった名前のファイルに
コマンドの結果を残すことができます。

PowerCLI> Start-Transcript ($Env:COMPUTERNAME + "_" + $Env:USERNAME + "_" + (Get-Date -Format "yyyyMMddHHmmss") + "_ps.log")

 

以上、PowerCLIのコマンド作業履歴を残す方法でした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>