1

VMware ESXi 5.1私が家に持っているサーバーに対してPerlスクリプトを実行するための詳細を知っている人はいますか?以下をダウンロードしてマシンにパッケージをインストールしましたUbuntu 12.04 LTSが、開始方法がわかりません。

VMware-vSphere-CLI-5.1.0-780721.x86_64.gz
VMware-vSphere-Perl-SDK-5.1.0-780721.x86_64.gz
VMware-vSphere-SDK-5.1.0-774886.zip

パッケージがインストールされたとき、私はすべてのPerlモジュールの依存関係が満たされていることを確認しました。次に何をしますか?たとえば、PerlのESXiサーバーで実行されているVMのリストをクエリするにはどうすればよいですか?

4

1 に答える 1

4

VM 名を取得するには、次のコードを確認してください。

#!/usr/bin/perl -w
use strict;
use VMware::VIRuntime;

my %opts = (
               datacenter => {
                        type        => "=s",
                        help        => "Enter the Dacenter Name",
                        required    => 1,
                    },
            );

Opts::add_options(%opts);
Opts::parse();
Opts::validate();
Util::connect();

my $dc = Opts::get_option("datacenter");
my $datacenter = Vim::find_entity_view ( view_type      => "Datacenter",
                                         properties     => [ "name" ],
                                         filter         => { name => $dc },
                                    );

my $vms = Vim::find_entity_views ( view_type       => "VirtualMachine",
                                   properties      => [ "name" ],
                                   begin_entity    => $datacenter,
                                );

foreach my $vm ( @$vms )
{
    print $vm->name."\n";
}
Util::disconnect();

上記のスクリプトを次のように実行します。

perl vm_list.pl  --server <vCenter_server_name> --datacenter <Datacenter_name>

もちろん、vSphere perl SDK のドキュメントを読まない限り、上記のコードは意味がありません。開始するには、以下のリンクを参照してください。

vpshere オブジェクトの説明を含むサンプル コード: http://www.vmware.com/support/developer/viperltoolkit/doc/perl_toolkit_guide_idx.html

API リファレンス ガイド: http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc_50%2Fright-pane.html

クライアント オブジェクト: http://pubs.vmware.com/vi301/admin/wwhelp/wwhimpl/common/html/wwhelp.htm?context=admin&file=BSA_Inventory.9.2.html

一般的な API ドキュメント: http://www.vmware.com/support/developer/viperltoolkit/

www.google.com

于 2013-01-09T02:11:02.667 に答える