powercli set-networkadapter对象引用未设置为对象的实例

时间:2013-07-02 15:22:55

标签: vmware powercli

我从https://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Set-NetworkAdapter.html复制了这个示例(示例5)并稍微修改了一下,但是它会引发错误:

Get-VM SDBNAPPQA03 | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName "10.30.88.0/21(VL712)" -Confirm:$false

Set-NetworkAdapter : 7/2/2013 8:07:05 AM    Set-NetworkAdapter        Object reference not set to an instance of an object.
At line:1 char:43
+ Get-VM SDBNAPPQA03 | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName "10.30 ...
+                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Set-NetworkAdapter], VimException
+ FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.ViCore.Cmdlets.Commands.VirtualDevice.SetNetworkAdapter

我从Get-NetworkAdapter获取了一个Adapter对象:

Get-VM SDBNAPPQA03 | Get-NetworkAdapter  | Get-Member


   TypeName: VMware.VimAutomation.ViCore.Impl.V1.VirtualDevice.NetworkAdapterImpl

Name             MemberType Definition
----             ---------- ----------
ConvertToVersion Method     T VersionedObjectInterop.ConvertToVersion[T]()
Equals           Method     bool Equals(System.Object obj)
GetHashCode      Method     int GetHashCode()
GetType          Method     type GetType()
IsConvertableTo  Method     bool VersionedObjectInterop.IsConvertableTo(type type)
LockUpdates      Method     void ExtensionData.LockUpdates()
ToString         Method     string ToString()
UnlockUpdates    Method     void ExtensionData.UnlockUpdates()
Client           Property   VMware.VimAutomation.ViCore.Interop.V1.VIAutomation Client {get;}
ConnectionState  Property    VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.ConnectInfo ConnectionState {get;}
ExtensionData    Property   System.Object ExtensionData {get;}
Id               Property   string Id {get;}
MacAddress       Property   string MacAddress {get;}
Name             Property   string Name {get;}
NetworkName      Property   string NetworkName {get;}
Parent           Property   VMware.VimAutomation.Sdk.Types.V1.VIObject Parent {get;}
ParentId         Property   string ParentId {get;}
Type             Property   VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.VirtualNetworkAdapterType Type {get;}
Uid              Property   string Uid {get;}
WakeOnLanEnabled Property   bool WakeOnLanEnabled {get;}

我可以在vCenter控制台中设置网络名称,没有任何问题。

我也尝试了以下命令,结果相同:

(Get-VM SDBNAPPQA03).Guest.Nics.Device | Set-NetworkAdapter -NetworkName "10.30.88.0/21(VL712)" -Confirm:$False

我已从此VM的vCenter下拉列表中确认网络名称正确无误。我已经从列表中尝试了其他选择。

有关如何设置NetworkAdapter的任何想法?

1 个答案:

答案 0 :(得分:0)

事实证明问题与-NetworkName变量不完全匹配。必须准确,包括案例。 例如:我正在喂它“10.30.80.0/21(VL712)”但是在左括号之前应该有一个空格来匹配实际的网络名称。