Sandard スイッチのすべてのポート グループを取得できましたが、リストには、標準スイッチ構造内に含まれる分散 vSwitch からの分散ポート グループが含まれています。私の場合、これはしたくありません。
VMware vSphere SDK (5.5) を使用していますが、これを試しました:
public List<Network> GetPortGroups(VimClient vimClient, Datacenter selectedDC = null, string pgName = null)
{
List<Network> lstPortGroups = new List<Network>();
NameValueCollection pgFilter = new NameValueCollection();
ManagedObjectReference DcMoRef = new ManagedObjectReference();
if (pgName != null)
{
pgFilter.Add("name", pgName);
}
else
{
pgFilter = null;
}
if (selectedDC != null)
{
DcMoRef = selectedDC.MoRef;
}
else
{
DcMoRef = null;
}
List<EntityViewBase> appPortGroups = vimClient.FindEntityViews(typeof(Network), DcMoRef, pgFilter, null);
if (appPortGroups != null)
{
foreach (EntityViewBase appPortGroup in appPortGroups)
{
Network thisPortGroup = (Network)appPortGroup;
lstPortGroups.Add(thisPortGroup);
}
return lstPortGroups;
}
else
{
return null;
}
}