I got this error:
Error HRESULT E_FAIL has been returned from a call to a COM component.
I can see many devices been created in the console. In the event log, i can see the device been created too, I can create target based on the device name. However, when I run enumDevice scripts from powershell sample, only target showed up.
It appears to me that powershell library is broken for device related functions. I cant enum/remove device from powershell. Any idea how to fix?
My code for creating image/device/target( I ran them one by one to debug):
Code: Select all
param($addr="192.168.10.101", $port=3261, $user="root", $password="starwind",
$fileName="img1",
$filePath="My Computer\F\vsan",
$size=4096,
$targetAlias="targetimg1",
$devName="imagefile1",
$sectorSize=4096,
$numaNode=0,
$cacheMode="wt",
$cacheSize=128)
Import-Module StarWindX
try
{
Enable-SWXLog
if($sectorSize -eq 4096 -and $size -lt 2)
{
throw "Minimal device size 2MB"
}
$server = New-SWServer -host $addr -port $port -user $user -password $password
$server.Connect()
Write-Host 'create image file'
#create image file
#New-ImageFile -server $server -path $filePath -fileName $fileName -size $size
Write-Host 'create device'
#create device
#$device = Add-ImageDevice -server $server -path $filePath -fileName $fileName -sectorSize $sectorSize -NumaNode $numaNode -CacheMode $cacheMode -CacheSize $cacheSize
#$device
Write-Host 'target'
#create target
#$target = New-Target -server $server -alias $targetAlias -devices $device.Name
#$target = New-Target -server $server -alias $targetAlias -devices $devName
$target
}
catch
{
Write-Host 'AError!'
Write-Host $_ -foreground red
}
finally
{
$server.Disconnect()
}
Much appreciated for your help!
My system:
new hyper v server 2019 host
NTFS volume on disk( windows storage space ) on a ssd