コード例 #1
0
        public static void InteractiveLogOns(InteractiveLogon _,
                                             Dictionary <string, string> deviceObjectIdToDeviceId)
        {
            try
            {
                var gremlinEdges = new List <GremlinEdge>();
                deviceObjectIdToDeviceId.TryGetValue(_.DeviceId, out var deviceId);
                if (deviceId == null)
                {
                    return;
                }

                var gremlinEdge = new GremlinEdge(
                    deviceId + _.UserId,
                    "HasSession",
                    deviceId,
                    _.UserId,
                    nameof(Computer),
                    nameof(User),
                    deviceId.GetHashCode(),
                    _.UserId.GetHashCode());

                gremlinEdges.Add(gremlinEdge);

                CosmosDbHelper.RunImportEdgesBlock.Post(gremlinEdges);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
コード例 #2
0
        public static void InteractiveLogOns(InteractiveLogon _)
        {
            if (_signInOutput.IsCompleted)
            {
                _signInOutput = new BlockingCollection <JsonBase>();
                _signInWriter = Extensions.StartOutputWriter(_signInOutput);
            }

            _signInOutput.Add(new Session
            {
                UserName     = _.UserDisplayName,
                ComputerName = _.DeviceDisplayName
            });
        }