By looking at the code of the InstanceGUID method in the %SYS.System class we can see where it's stored:

/// Returns instance GUID.
/// <br>
/// An instance GUID is a 16 byte (128 bit) globally unique identifier, assigned per instance of Cache installation.
ClassMethod InstanceGUID() As %String
{
    s ns="^^"_$zu(12)
    if ('$d(^[ns]SYS("INSTANCEGUID"))) Set ^[ns]SYS("INSTANCEGUID")=$system.Util.CreateGUID()
    Q ^[ns]SYS("INSTANCEGUID")
}

It's in ^SYS("INSTANCEGUID") in the CACHESYS database.

USER>w ##class(%SYS.System).InstanceGUID()
C59DD3E8-8474-4045-B252-1AF1A0D94F3C
USER>w ^|"%SYS"|SYS("INSTANCEGUID")
C59DD3E8-8474-4045-B252-1AF1A0D94F3C
USER>w $zv
Cache for Windows (x86-32) 2016.2.1 (Build 803U) Wed Oct 26 2016 13:33:05 EDT
USER>

However I don't know what might happen if you change it. Best check with InterSystems.

Did you see my answer above? Did you look at using the ExportAllClasses method of %SYSTEM.OBJ to write a file? And then use the Import method from within another namespace to load the contents of that file?

To help you get started, here's me running the first step:

SAMPLES>s sc=$system.OBJ.ExportAllClasses("c:\s\samples-allclasses.xml")
 
Exporting class: Aviation.Aircraft
Exporting class: Aviation.Classification.Utils
Exporting class: Aviation.Crew

...

Also, you may find the "Add new comment" links in Developer Community useful, instead of posting answers that are really questions. For example:

Please also be aware that you can mark one answer to your question as "accepted" by clicking on that checkmark you see in my screenshot above.

The AutheEnabled property is an integer value that is treated as a set of bitflags. Here's one way of decomposing it:

%SYS>set sc=##class(Security.System).Get(,.props)

%SYS>for bit=0:1:31 if $zboolean(props("AutheEnabled"),2**bit,1) write !,"Bit ",bit," is set"
 
Bit 4 is set
Bit 5 is set
Bit 6 is set
Bit 10 is set
%SYS>

Documentation for the $ZBOOLEAN function is here. You can use the OR operation (third argument = 7) to set a specific bit within the existing value. For example, to ensure bit 4 (whose meaning is AutheOS) is set:

set props("AutheEnabled")=$zboolean(props("AutheEnabled"),2**4,7)

If you are satisfied with my answer please click on the checkmark alongside its title.

Your reference to LocalSystem means I assume you're running Cache on Windows. On this platform Cache processes started by Cache (e.g. telnet logins, web application handlers, Studio connections) will run at the OS level as whatever Windows account the Cache service is set to log on as (see Windows service control manager tab as shown below).

If you make your Cache service run as a specific account rather than as Local System, then all of the processes started by Cache will run with those credentials.

I don't know if this will help you.

UPDATE: Starting at 2015.2 (I think), it is important to use the cinstall.exe utility (located in your installation's bin subdirectory) to change which account the service runs as:

cinstall setserviceusername <InstanceName> <username> <password>

If you don't do this but instead only  change the setting in the Log On tab of the service (screenshot above), then in certain circumstances the $ZF() functions may return a -1 failure code. See http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... Search the docs for "setserviceusername" for more details.

Maybe adding the /recursive=1 qualifier will give you what you want. If so, please click the checkmark to accept this answer.

SAMPLES>d $system.OBJ.Export("Cinema.Film.cls","c:\s\exp1.xml")                  
Exporting to XML started on 04/13/2017 09:49:36
Exporting class: Cinema.Film
Export finished successfully.
 
SAMPLES>d $system.OBJ.Export("Cinema.Film.cls","c:\s\exp2.xml","/recursive=1")   
Exporting to XML started on 04/13/2017 09:49:39
Exporting class: Cinema.Duration
Exporting class: Cinema.Film
Exporting class: Cinema.FilmCategory
Export finished successfully.
 
SAMPLES>

Assuming you aren't using a really old version of Caché (5.0 or earlier), and that your users have their own userids in Caché (i.e. $username is different for each of them), then you can configure things so that certain users aren't able to read the database of NS2. This will stop them switching to the namespace as well. See documentation here and here.

If you find this answer useful please click the checkmark alongside it.

When Ensemble runs on Windows its background processes typically run with whatever Windows credentials the Ensemble service (see Windows Service Control Manager) is set to "Log on as". If that is LocalSystem then your background processes won't be able to access UNC paths.

For more information, see my post here

If my answer here resolves your question please click the checkmark alongside it above.

Like most DC posts nowadays, this one got auto-crossposted to the intersystems-public-cache Google Group. When I checked this morning there were 5 responses from people trying to help the original poster. But since those answers don't automatically feed across to DC I'm drawing attention to them here. Because unless the OP knows to look there they may never see them.

https://groups.google.com/forum/#!topic/intersystems-public-cache/fngd5j...