Не смотря на то, что почти все командлеты из состава SMLets (это командлеты для работы с SCSM 2010 SP1) имеют параметр –ServerName или –SCSMSession. Первый параметр не работает вообще (вызывает ошибку “Не удается найти параметр, соответствующий имени параметра «ServerName»”), а указывать каждый раз параметр сессии – не самое удобное решение. Но в SMLets есть механизм, который позволяет запускать все команды на удаленный сервер SCSM.
Для этого достаточно определить переменную $smdefaultcomputer до импорта модуля SMLets. Т.е. вызов скрипта должен быть вот таким:
$smdefaultcomputer = "SCSMSERVER" import-module SMLets # далее вызов любых командлетов будет направлено на сервер SCSMSERVER
Напомню, что по умолчанию в качестве имени сервера используется localhost.
Спасибо, работает!
хотя после инсталляции SMLets на удалённой машине и команды import-module SMLets (на ней же) получил:
Resolve-Path : Cannot find path ‘C:\Program Files\Microsoft System Center\Service Manager 2010\SDK Binaries\Microsoft.E
nterpriseManagement.Core.dll’ because it does not exist.
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\SMLets\SMLets.psm1:33 char:33
+ $dllpath = (resolve-path <<<< $dll).path
+ CategoryInfo : ObjectNotFound: (C:\Program File…gement.Core.dll:String) [Resolve-Path], ItemNotFoundE
xception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand
Exception calling "LoadFile" with "1" argument(s): "The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_
INVALIDARG))"
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\SMLets\SMLets.psm1:40 char:44
+ [reflection.assembly]::LoadFile <<<< ($dllpath)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException