Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Активность пользователя (http://forum.oszone.net/showthread.php?t=335867)

c4uran 24-07-2018 21:45 2823355

Активность пользователя
 
Имеем много компов (windows 10 в домене) в разных часовых поясах и локалях

Нужно обновить на них софт пока пользователей нет на местах.

Как точно определить что пользователя нет на месте и не было уже n времени и можно грохать его сессии и обновлять приложения, разумеется батчем.

Предложения с принудительными ребутами сразу мимо.

Busla 24-07-2018 23:09 2823364

Приказом по организации: при уходе со смены перезагружать компьютер.

c4uran 25-07-2018 10:36 2823403

Прекрасная идея, еще предложения?

Anton04 25-07-2018 11:02 2823411

Цитата:

Цитата c4uran
Как точно определить что пользователя нет на месте »

Датчик на стул который определяет есть ли весовое или другое воздействие. Камеру на каждое раб. место и софт с распознаванием.

Цитата:

Цитата c4uran
и не было уже n времени »

Запуск скринсейвера или переход в ждущие режим монитора.

Kazun 25-07-2018 11:26 2823416

Код:

quser
 USERNAME              SESSIONNAME        ID  STATE  IDLE TIME  LOGON TIME

The idle time (the number of minutes since the last keystroke or mouse movement at the session)
The date and time the user logged on

Busla 25-07-2018 11:47 2823420

Цитата:

Цитата c4uran
пользователя нет на месте и не было уже n времени и можно грохать его сессии и обновлять приложения »

нельзя так делать
вы не знаете, что делает пользователь
Может там что-то качается/обновляется. Либо другая работа происходит. Компьютеры для того и придумали, чтобы они выполняли тупые рутинные операции без участия человека.

c4uran 26-07-2018 07:45 2823520

Kazun, интересная утилита но он не всегда отрабатывает

Еще получил отчеты от утилиты nir last activity view или как то так называется, но там слишком много избытычной информации и порой нет базового взаимодействия с интерфейсом

Есть еще планировщик с выполнением on idly

Еще предложения?

Iska 26-07-2018 08:19 2823525

Цитата:

Цитата c4uran
но он не всегда отрабатывает »

Например?

Цитата:

Цитата c4uran
Еще получил отчеты от утилиты nir last activity view или как то так называется, но там слишком много избытычной информации и порой нет базового взаимодействия с интерфейсом »

LastActivityView — это вообще не о том:
Цитата:

LastActivityView is a tool for Windows operating system that collects information from various sources on a running system, and displays a log of actions made by the user and events occurred on this computer. The activity displayed by LastActivityView includes: Running .exe file, Opening open/save dialog-box, Opening file/folder from Explorer or other software, software installation, system shutdown/start, application or system crash, network connection/disconnection and more...
Цитата:

Цитата c4uran
Еще предложения? »

C++ ;).

c4uran 09-08-2018 12:48 2825604

Что то подобное, но работает странно, на локальной машине все четко: двинул мышкой input time изменился, на удаленной херня, в .net я не шарю, можете посмотреть что не так?

Код:

$scriptblock = {
Add-Type @'
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace PInvoke.Win32 {

    public static class UserInput {

        [DllImport("user32.dll", SetLastError=false)]
        private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

        [StructLayout(LayoutKind.Sequential)]
        private struct LASTINPUTINFO {
            public uint cbSize;
            public int dwTime;
        }

        public static DateTime LastInput {
            get {
                DateTime bootTime = DateTime.UtcNow.AddMilliseconds(-Environment.TickCount);
                DateTime lastInput = bootTime.AddMilliseconds(LastInputTicks);
                return lastInput;
            }
        }

        public static TimeSpan IdleTime {
            get {
                return DateTime.UtcNow.Subtract(LastInput);
            }
        }

        public static int LastInputTicks {
            get {
                LASTINPUTINFO lii = new LASTINPUTINFO();
                lii.cbSize = (uint)Marshal.SizeOf(typeof(LASTINPUTINFO));
                GetLastInputInfo(ref lii);
                return lii.dwTime;
            }
        }
    }
}
'@

for ( $i = 0; $i -lt 20; $i++ ) {
    Write-Host ("Last input " + [PInvoke.Win32.UserInput]::LastInput)
    Write-Host ("Idle for " + [PInvoke.Win32.UserInput]::IdleTime)
    Start-Sleep -Seconds (Get-Random -Minimum 1 -Maximum 2)
}
}
$hostname = "xxx.domain.local"

Invoke-Command -ComputerName $hostname -ScriptBlock $scriptblock


c4uran 26-08-2018 22:09 2828708

Вот еще решение:

http://mctexpert.blogspot.com/2012/1...t-on-your.html


Время: 16:00.

Время: 16:00.
© OSzone.net 2001-