I have SCSM installed in a lab, on a member server. I'm on a laptop that sits outside the domain. I have SMlets installed there too, as well as the authoring toolkit and the SCSM console.
When I try to load the SMlets, the first time I was getting errors because they couldn't find the SDK Binaries folder in the SCSM install folder. These do not seem to be installed with the authoring toolkit nor with the SCSM console. I had to copy them over from the server. It would be useful if the SMlets checked for this and reported an appropriate error, telling users what to do.
Next, once they were loaded, I can invoke them with simple calls, such as Get-SCSMIncident. When I do that however, since SCSM isn't installed locally, I get an unhelpful error:
Get-SCSMIncident : The Data Access service is either not running or not yet initialized. Check the event log for more i
nformation.
At line:1 char:17
+ get-scsmincident <<<<
+ CategoryInfo : InvalidOperation: (localhost:String) [Get-SCSMIncident], ServiceNotRunningException
+ FullyQualifiedErrorId : GenericMessage,SMLets.SCSMIncidentGet
This should be designed better so that the cmdlets check to see if SCSM is installed on the local machine if they're run locally (it could check once and cache it, because it does the check on import), and then if you invoke a local command by accident it should tell you SCSM isn't installed on the local machine.
Also, it would be quite useful to add a Connect-SCSMServer cmdlet, where I could specify the server name and the credentials, and then from that point on every other SMLet I would call would use that connection. That would be much, much easier for remote management of SCSM.
Comments: ** Comment from web user: smithbj **
Try running the script below prior to any cmlets. It should use the computer specified in all scripts you run in that session.
$smdefaultcomputer = 'smserver.domain.local'