Invoke-Sqlcmd, InputFile y Variable

Necesito ejecutar una secuencia de comandos powershell que ejecute una secuencia de comandos SQL para crear una base de datos. Según mi conocimiento, ejecuto el comando powershell de esta manera:

Init.ps1

$DATABASEFILENAME = "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008INSTANCE\MSSQL\DATA\myDB.mdf"
$DATABASELOGNAME = "C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008INSTANCE\MSSQL\DATA\myDB_log.ldf"
$DBUSEROWNER = "domain\spsetup"

CreateDatabase.ps1

 try {
        $createDatabaseScript = ($scriptsFolder,$eachRelease,$DeployEnvironment,"Config" -join "\") + "\JM SiteRequest Database.sql"
        $sqlVariable = "DATABASEFILENAME = '$DATABASEFILENAME'", "DATABASELOGNAME = '$DATABASELOGNAME'", "DBUSEROWNER = '$DBUSEROWNER'"

        Invoke-Sqlcmd -ServerInstance "$MySQLServer" -InputFile "$createDatabaseScript" -ErrorAction Stop -Variable $sqlVariable
}
catch [Exception] {
        Write-Error "Database error: $_.Exception"
}

Script SQL

CREATE DATABASE [SiteRequestDB] ON  PRIMARY
( NAME = N'SiteRequestDB', FILENAME = N'$(DATABASEFILENAME)' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON 
( NAME = N'SiteRequestDB_log', FILENAME = N'$(DATABASELOGNAME)' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

Actualicé la variable $ sqlVariable como sugirió @Chad Miller. Así que el problema estaba allí. Ahora tengo este error:Creación del error de la base de datos: Error de la base de datos: falta un nombre de objeto o columna o está vacío. Para las sentencias SELECT INTO, verifique que cada columna tenga un nombre. Para otras declaraciones, busque nombres de alias vacíos. Los alias definidos como "" o [] no están permitidos. Cambie el alias a un nombre válido. La etiqueta 'C' ya ha sido declarada. Los nombres de etiquetas deben ser únicos dentro de un lote de consultas o de un procedimiento almacenado ... Excepción.Excepción

Respuestas a la pregunta(2)

Su respuesta a la pregunta