Powershell 在多个脚本中使用addtype

Powershell 在多个脚本中使用addtype,powershell,smo,Powershell,Smo,我有一个将dll导入脚本的代码。但是我在使用这个dll的每个脚本中复制这部分代码。我认为这不是一个好的做法。避免代码复制的最佳实践是什么 我正在做的示例: function Backup-Database { $pathSMO = "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.Smo.dll" $pathSMOEx = "C:\Program Files\Microsof

我有一个将dll导入脚本的代码。但是我在使用这个dll的每个脚本中复制这部分代码。我认为这不是一个好的做法。避免代码复制的最佳实践是什么

我正在做的示例:

function Backup-Database
{
    $pathSMO = "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.Smo.dll"
    $pathSMOEx = "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.SmoExtended.dll"
    #imports
    Add-Type -path $pathSMO
    Add-Type -path $pathSMOEx

    #other stuff...
}

function Restore-Database
{
    $pathSMO = "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.Smo.dll"
    $pathSMOEx = "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.SmoExtended.dll"
    #imports
    Add-Type -path $pathSMO
    Add-Type -path $pathSMOEx

    #other stuff...
}

请原谅我的错误,但是您应该能够将类型声明移到函数上方,并且仍然可以在函数中访问它。将示例1从

以上代码的输出

7
10
正如您所看到的,定义在函数之外。如果省略
-NameSpace
参数,则最好在适当的上下文中使用引号,然后在全局命名空间中生成类型

7
10