Skip to content

Commit 3252736

Browse files
committed
Changed some queries. Changed return object to be PSDCClone
1 parent 1f306d3 commit 3252736

1 file changed

Lines changed: 23 additions & 16 deletions

File tree

functions/New-PSDCClone.ps1

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function New-PSDCClone {
2-
<#
2+
<#
33
.SYNOPSIS
44
New-PSDCClone creates a new clone
55
@@ -400,15 +400,15 @@
400400
# Get the image id from the database
401401
Write-PSFMessage -Message "Selecting image from database" -Level Verbose
402402
try {
403-
$query = "SELECT ImageID FROM dbo.Image WHERE ImageLocation = '$ParentVhd'"
404-
$imageId = (Invoke-DbaSqlQuery -SqlInstance $pdcSqlInstance -Database $pdcDatabase -Query $query -EnableException).ImageID
403+
$query = "SELECT ImageID, ImageName FROM dbo.Image WHERE ImageLocation = '$ParentVhd'"
404+
$resultImage = Invoke-DbaSqlQuery -SqlInstance $pdcSqlInstance -Database $pdcDatabase -Query $query -EnableException
405405
}
406406
catch {
407407
Stop-PSFFunction -Message "Couldnt execute query for retrieving image id" -Target $query -ErrorRecord $_ -Continue
408408
}
409409

410410

411-
if ($null -ne $imageId) {
411+
if ($null -ne $resultImage.ImageID) {
412412

413413
$cloneLocation = "$Destination\$CloneName.vhdx"
414414

@@ -417,20 +417,22 @@
417417
$query = "
418418
DECLARE @CloneID INT;
419419
EXECUTE dbo.Clone_New @CloneID = @CloneID OUTPUT, -- int
420-
@ImageID = $imageId, -- int
420+
@ImageID = $($resultImage.ImageID), -- int
421421
@HostID = $hostId, -- int
422422
@CloneLocation = '$cloneLocation', -- varchar(255)
423423
@AccessPath = '$accessPath', -- varchar(255)
424424
@SqlInstance = '$($server.DomainInstanceName)', -- varchar(50)
425-
@DatabaseName = '$cloneDatabase', -- varchar(100)
425+
@DatabaseName = '$cloneDatabase', -- varchar(100)
426426
@IsEnabled = $active -- bit
427+
428+
SELECT @CloneID AS CloneID
427429
"
428430

429431
Write-PSFMessage -Message "Query New Clone`n$query" -Level Debug
430432

431433
# execute the query
432434
try {
433-
$null = Invoke-DbaSqlQuery -SqlInstance $pdcSqlInstance -Database $pdcDatabase -Query $query -EnableException
435+
$result = Invoke-DbaSqlQuery -SqlInstance $pdcSqlInstance -Database $pdcDatabase -Query $query -EnableException
434436
}
435437
catch {
436438
Stop-PSFFunction -Message "Couldnt execute query for adding clone" -Target $query -ErrorRecord $_ -Continue
@@ -442,15 +444,20 @@
442444
}
443445

444446
# Add the results to the custom object
445-
[PSCustomObject]@{
446-
ImageID = $imageId
447-
HostID = $hostId
448-
CloneLocation = $cloneLocation
449-
AccessPath = $accessPath
450-
SqlInstance = $server.DomainInstanceName
451-
DatabaseName = $cloneDatabase
452-
IsEnabled = $active
453-
}
447+
[PSDCClone]$clone = New-Object PSDCClone
448+
449+
$clone.CloneID = $result.CloneID
450+
$clone.CloneLocation = $cloneLocation
451+
$clone.AccessPath = $accessPath
452+
$clone.SqlInstance = $server.DomainInstanceName
453+
$clone.DatabaseName = $cloneDatabase
454+
$clone.IsEnabled = $active
455+
$clone.ImageID = $resultImage.ImageID
456+
$clone.ImageName = $resultImage.ImageName
457+
$clone.ImageLocation = $ParentVhd
458+
$clone.HostName = $hostname
459+
460+
return $clone
454461

455462
} # End for each database
456463

0 commit comments

Comments
 (0)