Momentan habe ich ein seltsames Problem mit der PowerCLI Api von VMware. Ich schrieb eine Funktion, die ein VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl
Object als Parameter benötigt, aber jedes Mal, wenn ich ein solches Objekt zur Verfügung stelle, ist es fehlerhaft. Beim Debugging habe ich festgestellt, dass dieses Objekt nicht einmal einer anderen Variablen desselben Typs zugewiesen wurde.PowerShell kann den Typ nicht finden [VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl]
PS vi:\IX-eShelter> [VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl]$t = Get-VDPortgroup -Name "dv-test-vlan" | Get-Member
Unable to find type [VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl].
At line:1 char:1
+ [VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl]$t = Get-VDPo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (VMware.VimAutom...VDPortgroupImpl:TypeName) [], RuntimeExc
eption
+ FullyQualifiedErrorId : TypeNotFound
Ich habe bereits versucht, die folgenden:
[System.Reflection.Assembly]::LoadWithPartialName("VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl")
Add-Type -AssemblyName "VMware.VimAutomation.Vds.Impl"
Edit: Meine Funktion:
function New-VMDeployment {Param([Parameter(Mandatory=$true,ValueFromPipeline=$false,ValueFromPipelineByPropertyName=$true)][VMware.VimAutomation.Vds.Impl.V1.VmwareVDPortgroupImpl]$port)
Write-Host $port;
};
ich es so, dass ich anrufen:
$deployment = [PSCustomObject]@{ "port" = Get-VDPortgroup -Name "dv-test-vlan";};
$deployment | New-VMDeployment;
Bearbeiten Sie Ihre Frage Ihre Funktion enthalten und wie Sie es verwenden. –