Sobald Sie mit PowerShell auf den SQL-Server zugreifen wollen, müssen Sie die SMO (SQL Server Management Objects) Assemblies laden.
Mit diesem Skript Teil erledigen Sie dies. Hierzu müssen natürlich die Assemblies auf dem Rechner installiert sein:
Show/Hidden csharp code#Region "Import Assembly"
Import-Module SQLPS -DisableNameChecking | Out-Null
$allAsm =
"Microsoft.SqlServer.Management.Common",
"Microsoft.SqlServer.Smo",
"Microsoft.SqlServer.Dmf ",
"Microsoft.SqlServer.Instapi ",
"Microsoft.SqlServer.SqlWmiManagement ",
"Microsoft.SqlServer.ConnectionInfo ",
"Microsoft.SqlServer.SmoExtended ",
"Microsoft.SqlServer.SqlTDiagM ",
"Microsoft.SqlServer.SString ",
"Microsoft.SqlServer.Management.RegisteredServers ",
"Microsoft.SqlServer.Management.Sdk.Sfc ",
"Microsoft.SqlServer.SqlEnum ",
"Microsoft.SqlServer.RegSvrEnum ",
"Microsoft.SqlServer.WmiEnum ",
"Microsoft.SqlServer.ServiceBrokerEnum ",
"Microsoft.SqlServer.ConnectionInfoExtended ",
"Microsoft.SqlServer.Management.Collector ",
"Microsoft.SqlServer.Management.CollectorEnum",
"Microsoft.SqlServer.Management.Dac",
"Microsoft.SqlServer.Management.DacEnum",
"Microsoft.SqlServer.Management.Utility"
foreach ($asm in $allAsm)
{
try {
Write-Host "Loading $asm"
$asm = [Reflection.Assembly]::LoadWithPartialName($asm)
}
catch
{
Write-Host -error "Missing $asm"
}