You all have been following Aaron Nelson blog post on Invoke-Sqlcmd availability Cross-Platform in the SqlServer module then you all are probably have proceeded to download the PowerShell SqlServer.
At the same time, on March 5th, PowerShell Core 6.2.0-rc1 (Release Candidate) was made available for download.
Go and get it!
The thing is, in order to use the Invoke-SqlCmd cmdlet, you need to use PowerShell Preview version 6.2.0-rc1 (or greater).
Now, SqlServer Module can be easily installed in all platforms but I found out that it won’t install in Windows 10 WSL Ubuntu 18.04.
So, What the issue with Windows 10 WSL – Ubuntu 18.04?
Normally, when working with modules in PowerShell Core, I always use the following Cmdlets: Uninstall-Module to remove the module and then Install-Module with the “-AllowPrerelease” parameter. This will work flawlessly, but I found out that it won’t installed it in WSL – Ubuntu 18.04.
I don’t know why but it was installing the non-preview version SqlServer module 21.1.18080. So, the following PowerShell Core command line will force the installation of SqlServer module version 21.1.18095-Preview.
Install-Module sqlserver -RequiredVersion 21.1.18095-preview -AllowPrerelease -Force
Now, we can start writing PowerShell Core SQL Server scripts in our Windows Subsystem for Linux – Ubuntu 18.04.