- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-09-2017 12:42 PM
How to install and run mid server with other than the window admin means with different user??
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2017 01:04 PM
Hi Sapna,
1) MID Server - The Windows account used other than Local Admin account must be also part of Admin group and it has nothing to do with ServiceNow User profile.
2) The ServiceNow User profile is only used for MID Server installation and that one must have mid_server role associated to it.
3) For SCCM integration, you would need to mention MID Server, java program primarily for connectivity. SCCM Data Sources will need credentials for SCCM SQL Server along with Database details. If you wish to identify recorded created in SCCM staging tables with which ServiceNow User profile, do mention Run As in Scheduled Imports otherwise if left blank it will show system/guest.
Please let us know if you got any more queries or mark question answered correct for the benefit of others. Thank You!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-11-2017 04:09 PM
Taken this line from your above comment:
"A Discovery Identifier called SCCM ID & Class Name returns the resource ID of a computer from SCCM and stores it in a table called Source [sys_object_source]."
CAN YOU PLEASE TELL ME , WHICH LINE EXACTLY INSERTING INTO THE Source [sys_object_source] TABLE...???
function(ciData, log, identifier) {
var sccmID = ciData.getData().correlation_id;
gs.log('Running....DD..'+ciData.getData().sys_class_name) ;
//16778287
var matchable = JSUtil.notNil(sccmID);
var matching = [];
if (matchable)
matching = matchingCIs(sccmID, ciData);
return new CIIdentifierResult(matching, matchable);
function matchingCIs(id, ciData) {
var matches = [];
findBySourceTable(id, ciData, matches);
if (matches.length == 0)
findByCorrelationIDField(id, ciData, matches);
return matches;
}
function findByCorrelationIDField(id, ciData, matches) {
var gr = new GlideRecord(identifier.applies_to);
gr.addQuery('sys_class_name', ciData.getData().sys_class_name);
gr.addQuery('correlation_id', id);
gr.query();
// populate our return value...
while (gr.next())
matches.push('' + gr.getUniqueValue());
}
function findBySourceTable(id, ciData, matches) {
var gr = new GlideRecord("sys_object_source");
gr.addQuery("name", "SCCM");
gr.addQuery("id", id);
gr.addNotNullQuery("target_sys_id");
gr.addQuery("target_table", ciData.getData().sys_class_name);
gr.query();
while (gr.next()) {
// Verify it actually exists...
var grr = new GlideRecord(ciData.getData().sys_class_name);
if (grr.get(gr.target_sys_id))
matches.push(gr.target_sys_id + '');
}
return matches;
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-12-2017 11:32 AM
Extracting the ZIP to a set of JAR files and running them as a service does not need privileged access.
However, registering the daemon as a service in Windows service applet (services.msc) requires privileged access. I believe the account needs "Logon as a service" privilege, but I don't know any more than that.
Once the service is up and running, it needs to be changed from a local system account to one with specific Windows credentials. If this is not performed, any credentials added to your Discovery application will fail because the MID server will still try to use the local system account.
Some confusion reigns over the actual privilege needed - it's not really access to the machine it's running on, but credentials to target devices. The documentation has some information about sudo access to *nix devices and claims Windows Domain Admin rights needed to Windows-based systems, but the upshot is that specific commands are run (shell commands as well as powershell scripts) and if the credentials are for a lower-privileged account then limited information is returned.