dataplat / dbatools

🚀 SQL Server automation and instance migrations have never been safer, faster or freer
https://dbatools.io
MIT License
2.39k stars 787 forks source link

Issues while passing Computer name parameter of type Dataplat.Dbatools.Parameter.DbaInstanceParameter[] using variable in update-dbainstance #9343

Closed Poojacheshmish closed 1 month ago

Poojacheshmish commented 1 month ago

Verified issue does not already exist?

No, I did not search

What error did you receive?

"Cannot convert value "DEDA1W9262,DEDA1W9261" to type "Dataplat.Dbatools.Parameter.DbaInstanceParameter". Error: "Failed to parse instance name: DEDA1W9262,DEDA1W9261"" At C:\Users\sadm-X265343\Desktop\Final Code.ps1:20 char:34

Steps to Reproduce


# provide your command(s) executed pertaining to dbatools
# please include variable values (redacted or fake if needed) for reference
``
$Serverslist=DXXXX1W9262,DXXXX1W9261
$creds= pscredential
$patch=KB5033663

Update-DbaInstance -ComputerName $Serverslist -Credential $Creds -KB $Patch -Download -Path "C:\Temp\SQLPatches"  -Confirm:$false -Restart

### Please confirm that you are running the most recent version of dbatools

Major  Minor  Build  Revision
-----  -----  -----  --------
2      1      14     -1  

### Other details or mentions

-computerName works fine if you are passing single computer name not with mutliple remote machines

### What PowerShell host was used when producing this error

Windows PowerShell ISE (powershell_ise.exe)

### PowerShell Host Version

$PSVersionTable

Name                           Value                                            
----                           -----                                            
PSVersion                      5.1.17763.5576                                   
PSEdition                      Desktop                                          
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                          
BuildVersion                   10.0.17763.5576                                  
CLRVersion                     4.0.30319.42000                                  
WSManStackVersion              3.0                                              
PSRemotingProtocolVersion      2.3                                              
SerializationVersion           1.1.0.1  

### SQL Server Edition and Build number

SQL Server - Product version: 15.0.4365.2, file version: 2019.150.4365.2

### .NET Framework Version

.NET Framework 4.8.4645.0
andreasjordan commented 1 month ago

$Serverslist=DXXXX1W9262,DXXXX1W9261 is incorrect PowerShell syntax.

If you use $Serverslist='DXXXX1W9262', 'DXXXX1W9261', the command should work fine, because $Serverlist is an array containing two strings. If you use $Serverslist='DXXXX1W9262,DXXXX1W9261', then this is only one string that is not parsable as an instance name.

potatoqualitee commented 1 month ago

@andreasjordan that is certainly the problem, will close this. Thank you.