{"id":809718,"date":"2026-05-19T09:03:22","date_gmt":"2026-05-19T09:03:22","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=809718"},"modified":"2026-05-19T09:03:22","modified_gmt":"2026-05-19T09:03:22","slug":"como-detectar-o-tempo-ocioso-do-usuario-usando-o-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/como-detectar-o-tempo-ocioso-do-usuario-usando-o-powershell\/","title":{"rendered":"Como detectar o tempo ocioso do usu\u00e1rio usando o PowerShell"},"content":{"rendered":"<p>A detec\u00e7\u00e3o de tempo ocioso em computadores tem sido um aspecto cr\u00edtico para os profissionais de TI, especialmente na era das crescentes <a href=\"https:\/\/www.ninjaone.com\/blog\/common-cyber-attacks\/\">amea\u00e7as \u00e0 seguran\u00e7a cibern\u00e9tica<\/a> e ao gerenciamento de recursos. \u00c0 medida que as organiza\u00e7\u00f5es se digitalizam rapidamente e os usu\u00e1rios permanecem conectados por longos per\u00edodos, <strong>a detec\u00e7\u00e3o do tempo ocioso do usu\u00e1rio<\/strong> torna-se fundamental por motivos operacionais e de seguran\u00e7a. Nesta postagem, vamos nos aprofundar em um script do PowerShell desenvolvido para detectar o maior tempo ocioso dos usu\u00e1rios, tornando a tarefa perfeita e eficiente.<\/p>\n<h2>Hist\u00f3rico<\/h2>\n<p>A capacidade de determinar h\u00e1 quanto tempo um usu\u00e1rio est\u00e1 inativo pode fornecer informa\u00e7\u00f5es valiosas para profissionais de TI e <a href=\"https:\/\/www.ninjaone.com\/what-is-an-msp\/\">provedores de servi\u00e7os gerenciados (MSPs)<\/a>. Seja para liberar recursos, garantir que as sess\u00f5es n\u00e3o permane\u00e7am abertas a poss\u00edveis amea\u00e7as \u00e0 seguran\u00e7a ou at\u00e9 mesmo considera\u00e7\u00f5es de faturamento para <a href=\"https:\/\/www.ninjaone.com\/it-hub\/gerenciamento-de-servicos-de-ti\/what-is-a-cloud-service-provider\/\">provedores de servi\u00e7os em nuvem<\/a>, \u00e9 essencial ter um m\u00e9todo eficaz e confi\u00e1vel para determinar a inatividade do usu\u00e1rio. Esse script espec\u00edfico aproveita a capacidade do PowerShell de interagir diretamente com o sistema operacional Windows e extrair dados relevantes para medir os tempos de inatividade.<\/p>\n<h2>O roteiro<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Returns the longest idle time of any user logged in or for a specific user.\r\n.DESCRIPTION\r\n    Returns the longest idle time of any user logged in or for a specific user.\r\n    If RDS(Remote Desktop Services) is installed and the RSAT tools for it as well,\r\n     then this will get the idle time of each logged in user.\r\n    For workstations and servers(with out RDS installed),\r\n     this will get the current idle of the currently logged in user.\r\n    If a user is logged in via the console and another is via the admin RDP session,\r\n     then both will be considered as one user for calculating idle time.\r\n.EXAMPLE\r\n    No parameters needed.\r\n    Returns the longest idle time of all users logged in.\r\n.EXAMPLE\r\n     -UserName \"Fred\"\r\n    Returns the longest idle time of the user Fred.\r\n.EXAMPLE\r\n    PS C:&gt; Get-User-Idle-Time.ps1 -UserName \"Fred\"\r\n    Returns the longest idle time of the user Fred.\r\n.OUTPUTS\r\n    PSCustomObject[]\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes:\r\n    Adds functions to get idle time from RDS and non-RDS computers.\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n.COMPONENT\r\n    ManageUsers\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    # Specify one user on a Terminal Services Server, else leave blank for normal servers and workstations\r\n    [Parameter(Mandatory = $false)]\r\n    $UserName\r\n)\r\n\r\nbegin {\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))\r\n        { Write-Output $true }\r\n        else\r\n        { Write-Output $false }\r\n    }\r\n    Function Get-QueryUser() {\r\n        Param()\r\n        $Result = @()\r\n        # Replaces all occurrences of 2 or more spaces in a row with a single comma\r\n        $Lines = @(query.exe user).foreach({ $(($_) -replace ('s{2,}', ',')) })\r\n        if ($Lines.Count -gt 1) {\r\n            $Header = $($Lines[0].split(',').trim())\r\n            for ($i = 1; $i -lt $($Lines.Count); $i++) {\r\n                $Res = \"\" | Select-Object $Header\r\n                $Line = $($Lines[$i].split(',')).foreach({ $_.trim().trim('&gt;') })\r\n                # Accounts for disconnected users\r\n                if ($Line.count -eq 5) {\r\n                    $Line = @($Line[0], \"$($null)\", $Line[1], $Line[2], $Line[3], $Line[4] )\r\n                }\r\n                for ($j = 0; $j -lt $($Line.count); $j++) {\r\n                    $Res.$($Header[$j]) = $Line[$j]\r\n                }\r\n                $Result += $Res\r\n                Remove-Variable Res\r\n            }\r\n            return $Result\r\n        }\r\n        else {\r\n            return $null\r\n        }\r\n    }\r\n\r\n    Add-Type @\"\r\nusing System;\r\nusing System.Runtime.InteropServices;\r\nusing System.ComponentModel;\r\n\r\nnamespace GetLastUserInput\r\n{\r\n    public class GetLastUserInput\r\n    {\r\n        private struct LASTINPUTINFO\r\n        {\r\n            public uint cbSize;\r\n            public uint dwTime;\r\n        }\r\n        private static LASTINPUTINFO lastInPutNfo;\r\n        static GetLastUserInput()\r\n        {\r\n            lastInPutNfo = new LASTINPUTINFO();\r\n            lastInPutNfo.cbSize = (uint)Marshal.SizeOf(lastInPutNfo);\r\n        }\r\n        [DllImport(\"User32.dll\")]\r\n        private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Idle time in ticks\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        public static uint GetIdleTickCount()\r\n        {\r\n            return ((uint)Environment.TickCount - GetLastInputTime());\r\n        }\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Last input time in ticks\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        public static uint GetLastInputTime()\r\n        {\r\n            if (!GetLastInputInfo(ref lastInPutNfo))\r\n            {\r\n                throw new Win32Exception(Marshal.GetLastWin32Error());\r\n            }\r\n            return lastInPutNfo.dwTime;\r\n        }\r\n    }\r\n}\r\n\"@\r\n}\r\n\r\nprocess {\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n    if ($(Get-Module -Name \"RemoteDesktop\") -and $(Get-RDServer -ErrorAction SilentlyContinue)) {\r\n        try {\r\n            $Sessions = Get-RDUserSession\r\n            $Sessions | Select-Object UserName, IdleTime\r\n        }\r\n        catch {\r\n            Write-Warning -Message \"A Remote Desktop Services deployment does not exist on $env:COMPUTERNAME.\"\r\n        }\r\n    }\r\n    else {\r\n        Write-Warning -Message \"Remote Desktop Services is not installed on this computer, Falling back to query user.\"\r\n        $Results = Get-QueryUser\r\n        if ($null -eq $Results) {\r\n            Write-Host \"No user(s) logged in.\"\r\n            exit 0\r\n        }\r\n        # Parse query results and loop through each user\r\n        $Results | ForEach-Object {\r\n            $CurrentUser = $_.USERNAME\r\n            # If UserName param is used, only filter that user; If UserName param isn't used, return all users\r\n            if ($CurrentUser -like $UserName -or ([string]::IsNullOrEmpty($UserName) -or [string]::IsNullOrWhiteSpace($UserName))) {\r\n                # Output a PowerShell Custom Object array\r\n                [PSCustomObject]@{\r\n                    UserName    = $CurrentUser\r\n                    SessionName = $_.SESSIONNAME\r\n                    Id          = $_.ID\r\n                    State       = $_.STATE\r\n                    LogonTime   = $_.'LOGON TIME'\r\n                    IdleTime    = if ($_.'IDLE TIME' -like 'none') { 0 }else { $_.'IDLE TIME' }\r\n                }\r\n            }\r\n        } | Sort-Object -Property IdleTime | Select-Object -Property UserName, @{\r\n            # Modify IdleTime when it shows none\r\n            Label      = \"IdleTime\"\r\n            Expression = {\r\n                New-TimeSpan -Start $(Get-Date) -End $(Get-Date).AddMilliseconds([GetLastUserInput.GetLastUserInput]::GetIdleTickCount())\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Acesse mais de 300 scripts no NinjaOne Dojo<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaone.com\/freetrialform\/\">Obter acesso<\/a><\/p>\n<\/div>\n<h2>Detalhamento<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Cmdlet Binding &amp; Par\u00e2metros:<\/strong> O script come\u00e7a com um CmdletBinding, permitindo que ele seja usado como um cmdlet. Ele cont\u00e9m um par\u00e2metro opcional para um nome de usu\u00e1rio espec\u00edfico.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Fun\u00e7\u00f5es internas:<\/strong><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>O Test-IsElevated<\/strong> verifica se o script \u00e9 executado com privil\u00e9gios administrativos.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Get-QueryUser<\/strong> faz interface com <strong>query.exe<\/strong> para obter detalhes sobre os usu\u00e1rios atuais.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Integra\u00e7\u00e3o de bibliotecas externas:<\/strong> Uma biblioteca externa<strong>(GetLastUserInput<\/strong>) \u00e9 usada para obter a contagem exata de ticks ociosos.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Bloco de processo:<\/strong> A l\u00f3gica central est\u00e1 aqui.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">Em primeiro lugar, ele verifica se o script \u00e9 executado com direitos de administrador.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">Se o Remote Desktop Services (RDS) estiver instalado, ele obter\u00e1 o tempo ocioso de cada usu\u00e1rio conectado.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">Se o RDS n\u00e3o estiver presente, ele volta \u00e0 abordagem de <strong>consulta ao usu\u00e1rio<\/strong> e calcula o tempo ocioso com base na \u00faltima entrada do usu\u00e1rio.<\/li>\n<\/ul>\n<h2>Casos de uso em potencial<\/h2>\n<p>Imagine que voc\u00ea \u00e9 um administrador de TI de uma organiza\u00e7\u00e3o de m\u00e9dio porte. Voc\u00ea notou que muitos usu\u00e1rios deixam suas esta\u00e7\u00f5es de trabalho ligadas e conectadas, mesmo depois do hor\u00e1rio de expediente. Al\u00e9m de ser um risco \u00e0 seguran\u00e7a, isso tamb\u00e9m consome recursos de rede e energia. Ao implementar esse script em toda a empresa, \u00e9 poss\u00edvel determinar rapidamente quais usu\u00e1rios est\u00e3o trabalhando ativamente e quais esta\u00e7\u00f5es de trabalho est\u00e3o ociosas. Com essas informa\u00e7\u00f5es, \u00e9 poss\u00edvel aplicar pol\u00edticas de logout autom\u00e1tico ou enviar lembretes aos usu\u00e1rios para que desliguem suas m\u00e1quinas.<\/p>\n<h2>Compara\u00e7\u00f5es<\/h2>\n<p>Embora existam ferramentas de terceiros dispon\u00edveis que detectam o tempo ocioso, elas geralmente v\u00eam com incha\u00e7o adicional ou podem n\u00e3o ter os detalhes granulares necess\u00e1rios. Algumas pessoas podem optar por consultar o Log de Eventos do Windows em busca de eventos espec\u00edficos, mas essa abordagem pode perder nuances como um v\u00eddeo em execu\u00e7\u00e3o que mant\u00e9m a sess\u00e3o ativa. Esse script fornece um m\u00e9todo direto e personaliz\u00e1vel, aproveitando as ferramentas e os comandos nativos do Windows.<\/p>\n<h2>Implica\u00e7\u00f5es<\/h2>\n<p>A detec\u00e7\u00e3o de tempo ocioso n\u00e3o se refere apenas ao gerenciamento de recursos. Uma sess\u00e3o aberta e inativa pode ser uma vulnerabilidade em potencial. Atores mal-intencionados, uma vez dentro da rede, podem sequestrar essas sess\u00f5es. Portanto, a detec\u00e7\u00e3o oportuna e o gerenciamento de sess\u00f5es s\u00e3o cruciais para a seguran\u00e7a de TI.<\/p>\n<h2>Recomenda\u00e7\u00f5es<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">Sempre execute o script com privil\u00e9gios administrativos para obter resultados precisos.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Atualize e mantenha o script regularmente para atender \u00e0s mudan\u00e7as no ambiente do Windows.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Integre-se \u00e0s ferramentas de monitoramento para obter alertas em tempo real sobre sess\u00f5es ociosas prolongadas.<\/li>\n<\/ul>\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Fique \u00e0 frente dos problemas antes que eles se tornem problemas.<br data-start=\"217\" data-end=\"220\" \/>Com o <a class=\"decorated-link\" href=\"https:\/\/www.ninjaone.com\/endpoint-management\/remote-monitoring-alerting\/\" target=\"_new\" rel=\"noopener\" data-start=\"225\" data-end=\"344\">monitoramento remoto da NinjaOne &amp; Alerting<\/a>, voc\u00ea pode detectar, diagnosticar e resolver incidentes de TI mais rapidamente &#8211; sem interromper os usu\u00e1rios finais.<\/p>\n<\/div>\n<h2>Considera\u00e7\u00f5es finais<\/h2>\n<p>No contexto do gerenciamento de sess\u00f5es de usu\u00e1rios ociosas, ferramentas como o NinjaOne podem ampliar ainda mais a efic\u00e1cia, fornecendo <a href=\"https:\/\/www.ninjaone.com\/pt-br\/blog\/single-pane-of-glass-software-explained\/\">uma plataforma unificada para monitorar, alertar e gerenciar.<\/a> Seja para otimizar os recursos ou refor\u00e7ar o per\u00edmetro de seguran\u00e7a, entender o comportamento dos usu\u00e1rios em tempos ociosos pode ser um divisor de \u00e1guas. O aproveitamento de scripts como o discutido pode formar a espinha dorsal desse esfor\u00e7o, especialmente quando combinado com <a href=\"https:\/\/www.ninjaone.com\/pt-br\/\">solu\u00e7\u00f5es abrangentes de gerenciamento de TI<\/a>.<\/p>\n","protected":false},"author":35,"featured_media":143961,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[12435],"class_list":["post-809718","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/script_hub\/809718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/comments?post=809718"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media\/143961"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media?parent=809718"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/operating_system?post=809718"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/use_cases?post=809718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}