У меня есть эта функция:
function start-sqlsnap
{
add-pssnapin SqlServerCmdletSnapin100
}
Независимо от метода, используемого для загрузки функции, get-pssnapin покажет загруженный оснастку.Однако:
- При вставке в оболочку функции (например, invoke-sqlcmd) распознаются
- Если точка получена из файла, функции распознаются
- Если он помещен в файл psm1 (внутри папки модуля, в его собственной папке с тем же именем, что и файл psm1) и загружен с помощью import-module, определенные функции оснастки не распознаются, но при запуске get-pssnapin модуль будет отображаться какзагружен.
Ошибка:
The term 'invoke-sqlcmd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check t
he spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:14
+ invoke-sqlcmd <<<<
+ CategoryInfo : ObjectNotFound: (invoke-sqlcmd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Я попробовал то же самое с другой оснасткой: Microsoft.EnterpriseManagement.OperationsManager.Client и получил точно такой же результат.Я использую PowerShell 2 на 2008 R2.
Это известная ошибка или функция?Могу ли я решить это как-нибудь?