{"id":815721,"date":"2026-05-28T12:25:01","date_gmt":"2026-05-28T12:25:01","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=815721"},"modified":"2026-05-28T12:25:01","modified_gmt":"2026-05-28T12:25:01","slug":"rdp-shortcut-creation-using-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/rdp-shortcut-creation-using-powershell\/","title":{"rendered":"Automatiza\u00e7\u00e3o da cria\u00e7\u00e3o de atalhos para a \u00e1rea de trabalho remota usando o PowerShell"},"content":{"rendered":"<h2>Principais conclus\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\"><strong>Cria\u00e7\u00e3o automatizada de atalhos<\/strong>: O script do PowerShell automatiza a cria\u00e7\u00e3o de atalhos RDP, economizando tempo e reduzindo erros manuais.<\/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>Op\u00e7\u00f5es personaliz\u00e1veis<\/strong>: Ele oferece ampla personaliza\u00e7\u00e3o, incluindo configura\u00e7\u00f5es de exibi\u00e7\u00e3o, credenciais de usu\u00e1rio e configura\u00e7\u00f5es de gateway.<\/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>Escalabilidade para ambientes grandes<\/strong>: Ideal para MSPs e departamentos de TI que gerenciam v\u00e1rias conex\u00f5es remotas.<\/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>Requisito de direitos administrativos<\/strong>: Requer privil\u00e9gios administrativos para determinadas opera\u00e7\u00f5es, garantindo a seguran\u00e7a.<\/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>Gerenciamento de conflitos<\/strong>: Inclui verifica\u00e7\u00f5es de op\u00e7\u00f5es conflitantes, orientando os usu\u00e1rios para a configura\u00e7\u00e3o ideal.<\/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=\"6\" data-aria-level=\"1\"><strong>Consciente da seguran\u00e7a<\/strong>: Prioriza o manuseio seguro de credenciais e a implementa\u00e7\u00e3o de atalhos.<\/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=\"7\" data-aria-level=\"1\"><strong>Produtividade aprimorada<\/strong>: Simplifica o processo de gerenciamento de desktops remotos, aumentando a produtividade geral da TI.<\/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=\"8\" data-aria-level=\"1\"><strong>Ferramentas complementares<\/strong>: Pode ser efetivamente combinado com plataformas de gerenciamento como o NinjaOne para solu\u00e7\u00f5es abrangentes de TI.<\/li>\n<\/ul>\n<p>Os atalhos <a href=\"https:\/\/www.ninjaone.com\/pt-br\/blog\/what-is-remote-desktop-protocol-rdp\/\">do protocolo de \u00e1rea de trabalho remota (RDP)<\/a> s\u00e3o ferramentas vitais no mundo da TI, permitindo a conectividade perfeita com sistemas remotos. Com a evolu\u00e7\u00e3o dos ambientes em rede e a crescente necessidade de acesso remoto eficiente, a capacidade de criar e gerenciar rapidamente esses atalhos se torna essencial. Esse script, criado no <a href=\"https:\/\/www.ninjaone.com\/it-hub\/gerenciamento-de-endpoints\/what-is-powershell\/\">PowerShell<\/a>, oferece uma abordagem simplificada e personaliz\u00e1vel para a cria\u00e7\u00e3o de atalhos RDP, aumentando a produtividade dos profissionais de TI e dos <a href=\"https:\/\/www.ninjaone.com\/what-is-an-msp\/\">provedores de servi\u00e7os gerenciados (MSPs).\u00a0<\/a><\/p>\n<h2>Hist\u00f3rico e import\u00e2ncia do script do PowerShell<\/h2>\n<p>Tradicionalmente, a cria\u00e7\u00e3o e o gerenciamento de atalhos RDP envolviam processos manuais, que podiam ser demorados e propensos a erros, especialmente em ambientes de TI din\u00e2micos ou de grande escala. Esse script do PowerShell aborda esse desafio automatizando a cria\u00e7\u00e3o de atalhos de desktop RDP com par\u00e2metros definidos pelo usu\u00e1rio. Essa automa\u00e7\u00e3o \u00e9 especialmente ben\u00e9fica para as equipes de TI que gerenciam v\u00e1rias conex\u00f5es remotas e para os MSPs que precisam implementar rapidamente solu\u00e7\u00f5es de acesso remoto para seus clientes.<\/p>\n<h2>O roteiro:<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">&lt;#\r\n.SYNOPSIS\r\n    This script will create an rdp desktop shortcut with your specified options. It can create a shortcut for all users (including new ones) or existing ones only.\r\n.DESCRIPTION\r\n    This script will create an rdp desktop shortcut with your specified options. \r\n    It can create a shortcut for all users (including new ones) or existing ones only.\r\n.EXAMPLE\r\n    To Create a windowed RDP Shortcut simply specify the size, the name of the shortcut and which users the shortcut is for. You can also specify \"MultiMon\" for multi-monitor support. Or a gateway to use.\r\n    \r\n    PS C:&gt; .\/Create-DesktopShortcut.ps1 -Name \"Test\" -RDPTarget \"SRV19-TEST\" -RDPUser \"TESTjsmith\" -Width \"1920\" -Height \"1080\" -AllExistingUsers -ExcludeUsers \"ChrisWashington,JohnLocke\"\r\n    \r\n    Creating Shortcut at C:UsersJohnSmithDesktopTest.rdp\r\n\r\n.PARAMETER NAME\r\n    Name of the shortcut ex. \"Login Portal\".\r\n\r\n.PARAMETER RDPtarget\r\n    IP Address or DNS Name and port to the RDS Host ex. \"TEST-RDSH:28665\".\r\n\r\n.PARAMETER RDPuser\r\n    Username to autofill in username field.\r\n\r\n.PARAMETER AlwaysPrompt \r\n    Always Prompt for credentials.\r\n\r\n.PARAMETER Gateway\r\n    IP Address or DNS Name and port of the RD Gateway ex. \"TESTrdp.example.com:4433\".\r\n\r\n.PARAMETER SeperateGateWayCreds\r\n    If the RDS Gateway uses different creds than the Session Host use this parameter.\r\n\r\n.PARAMETER FullScreen\r\n    RDP Shortcut should open window in 'FullScreen' mode.\r\n\r\n.PARAMETER MultiMon\r\n    RDP Shortcut should open window with Multi-Monitor Support enabled.\r\n\r\n.PARAMETER Width\r\n    Width of RDP Window should open ex. \"1920\".\r\n\r\n.PARAMETER Height\r\n    Height of RDP Window shortcut should open ex. \"1080\".\r\n\r\n.PARAMETER AllExistingUsers\r\n    Create the Shortcut for all existing users but not new users ex. C:Users*Desktopshortcut.lnk.\r\n\r\n.PARAMETER ExcludeUsers\r\n    Comma seperated list of users to exclude from shortcut placement.\r\n\r\n.PARAMETER AllUsers\r\n    Create the Shortcut in C:UsersPublicDesktop.\r\n\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 7, Windows Server 2008\r\n    Release Notes: Renamed script, Split script into three, added Script Variable support, fixed bugs in RDP Shortcut\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#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [String]$Name,\r\n    [Parameter()]\r\n    [String]$RDPtarget,\r\n    [Parameter()]\r\n    [String]$RDPuser,\r\n    [Parameter()]\r\n    [Switch]$AlwaysPrompt = [System.Convert]::ToBoolean($env:alwaysPromptForRdpCredentials),\r\n    [Parameter()]\r\n    [String]$Gateway,\r\n    [Parameter()]\r\n    [Switch]$SeparateGateWayCreds = [System.Convert]::ToBoolean($env:separateRdpGatewayCredentials),\r\n    [Parameter()]\r\n    [Switch]$FullScreen,\r\n    [Parameter()]\r\n    [Switch]$MultiMon,\r\n    [Parameter()]\r\n    [Int]$Width,\r\n    [Parameter()]\r\n    [Int]$Height,\r\n    [Parameter()]\r\n    [Switch]$AllExistingUsers,\r\n    [Parameter()]\r\n    [Switch]$AllUsers\r\n)\r\n\r\nbegin {\r\n\r\n    # Replace existing params with form variables if they're used.\r\n    if ($env:shortcutName -and $env:shortcutName -notlike \"null\") { $Name = $env:shortcutName }\r\n    if ($env:createTheShortcutFor -and $env:createTheShortcutFor -notlike \"null\") { \r\n        if ($env:createTheShortcutFor -eq \"All Users\") { $AllUsers = $True }\r\n        if ($env:createTheShortcutFor -eq \"All Existing Users\") { $AllExistingUsers = $True }\r\n    }\r\n    if ($env:rdpServerAddress -and $env:rdpServerAddress -notlike \"null\") { $RDPtarget = $env:rdpServerAddress }\r\n    if ($env:rdpUsername -and $env:rdpUsername -notlike \"null\") { $RDPuser = $env:rdpUsername }\r\n    if ($env:rdpGatewayServerAddress -and $env:rdpGatewayServerAddress -notlike \"null\") { $Gateway = $env:rdpGatewayServerAddress }\r\n    if ($env:rdpWindowSize -and $env:rdpWindowSize -notlike \"null\") {\r\n        if ($env:rdpWindowSize -eq \"Fullscreen Multiple Monitor Mode\") { $MultiMon = $True }\r\n        if ($env:rdpWindowSize -eq \"Fullscreen\") { $FullScreen = $True }\r\n    }\r\n    if ($env:customRdpWindowWidth -and $env:customRdpWindowWidth -notlike \"null\") { $Width = $env:customRdpWindowWidth }\r\n    if ($env:customRdpWindowHeight -and $env:customRdpWindowHeight -notlike \"null\") { $Height = $env:customRdpWindowHeight }\r\n\r\n    # Output warnings for conflicting options.\r\n    if (($Width -and -not $Height ) -or ($Height -and -not $Width)) {\r\n        Write-Warning \"You forgot to include both the width and height. RDP Window will be in fullscreen mode.\"\r\n    }\r\n\r\n    if (($Width -or $Height) -and ($FullScreen -or $MultiMon)) {\r\n        if ($MultiMon) {\r\n            Write-Warning \"Conflicting Display Option selected. Using Fullscreen Multi-monitor.\"\r\n        }\r\n        else {\r\n            Write-Warning \"Conflicting Display Option selected. Using Fullscreen.\"\r\n        }\r\n    }\r\n\r\n    # Double-check that a user is specified for shortcut creation.\r\n    if (-not $AllUsers -and -not $AllExistingUsers -and -not $User) {\r\n        Write-Error \"You must specify which desktop to create the shortcut on!\"\r\n        exit 1\r\n    }\r\n\r\n    # Double-check that a shortcut name was provided.\r\n    if (-not $Name -or -not $RDPtarget) {\r\n        Write-Error \"You must specify a name and target for the shortcut!\"\r\n        exit 1\r\n    }\r\n\r\n    # Creating a shortcut at C:UsersPublicDesktop requires admin rights.\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        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)\r\n    }\r\n\r\n    if (!(Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n\r\n    # Retrieve all registry paths for actual users (excluding system or network service accounts).\r\n    function Get-UserHives {\r\n        param (\r\n            [Parameter()]\r\n            [ValidateSet('AzureAD', 'DomainAndLocal', 'All')]\r\n            [String]$Type = \"All\",\r\n            [Parameter()]\r\n            [String[]]$ExcludedUsers,\r\n            [Parameter()]\r\n            [switch]$IncludeDefault\r\n        )\r\n\r\n        # User account SIDs follow a particular pattern depending on whether they're Azure AD, Domain, or local \"workgroup\" accounts.\r\n        $Patterns = switch ($Type) {\r\n            \"AzureAD\" { \"S-1-12-1-(d+-?){4}$\" }\r\n            \"DomainAndLocal\" { \"S-1-5-21-(d+-?){4}$\" }\r\n            \"All\" { \"S-1-12-1-(d+-?){4}$\" ; \"S-1-5-21-(d+-?){4}$\" } \r\n        }\r\n\r\n        # We'll need the NTuser.dat file to load each users registry hive. So we grab it if their account sid matches the above pattern. \r\n        $UserProfiles = Foreach ($Pattern in $Patterns) { \r\n            Get-ItemProperty \"HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionProfileList*\" |\r\n                Where-Object { $_.PSChildName -match $Pattern } | \r\n                Select-Object @{Name = \"SID\"; Expression = { $_.PSChildName } }, \r\n                @{Name = \"UserHive\"; Expression = { \"$($_.ProfileImagePath)NTuser.dat\" } }, \r\n                @{Name = \"UserName\"; Expression = { \"$($_.ProfileImagePath | Split-Path -Leaf)\" } },\r\n                @{Name = \"Path\"; Expression = { $_.ProfileImagePath } }\r\n        }\r\n\r\n        # In some cases, it's necessary to retrieve the .Default user's information.\r\n        switch ($IncludeDefault) {\r\n            $True {\r\n                $DefaultProfile = \"\" | Select-Object UserName, SID, UserHive, Path\r\n                $DefaultProfile.UserName = \"Default\"\r\n                $DefaultProfile.SID = \"DefaultProfile\"\r\n                $DefaultProfile.Userhive = \"$env:SystemDriveUsersDefaultNTUSER.DAT\"\r\n                $DefaultProfile.Path = \"C:UsersDefault\"\r\n\r\n                $DefaultProfile | Where-Object { $ExcludedUsers -notcontains $_.UserName }\r\n            }\r\n        }\r\n\r\n        $UserProfiles | Where-Object { $ExcludedUsers -notcontains $_.UserName }\r\n    }\r\n}\r\nprocess {\r\n    $ShortcutPath = New-Object System.Collections.Generic.List[String]\r\n\r\n    # Create the filenames for the path.\r\n    if ($RDPTarget) { $File = \"$Name.rdp\" }\r\n\r\n    # Build the paths and add them to the ShortcutPath list.\r\n    if ($AllUsers) { $ShortcutPath.Add(\"$env:PublicDesktop$File\") }\r\n\r\n    if ($AllExistingUsers) {\r\n        $UserProfiles = Get-UserHives\r\n        # Loop through each user profile\r\n        $UserProfiles | ForEach-Object { $ShortcutPath.Add(\"$($_.Path)Desktop$File\") }\r\n    }\r\n\r\n    if ($User) { \r\n        $UserProfile = Get-UserHives | Where-Object { $_.Username -like $User }\r\n        $ShortcutPath.Add(\"$($UserProfile.Path)Desktop$File\")\r\n    }\r\n\r\n    $RDPFile = New-Object System.Collections.Generic.List[String]\r\n\r\n    # Base template of an .RDP file. Additional options will be appended based on user selection.\r\n    $Template = @\"\r\nsession bpp:i:32\r\ncompression:i:1\r\nkeyboardhook:i:2\r\naudiocapturemode:i:0\r\nvideoplaybackmode:i:1\r\nconnection type:i:7\r\nnetworkautodetect:i:1\r\nbandwidthautodetect:i:1\r\ndisplayconnectionbar:i:1\r\nenableworkspacereconnect:i:0\r\ndisable wallpaper:i:0\r\nallow font smoothing:i:0\r\nallow desktop composition:i:0\r\ndisable full window drag:i:1\r\ndisable menu anims:i:1\r\ndisable themes:i:0\r\ndisable cursor setting:i:0\r\nbitmapcachepersistenable:i:1\r\naudiomode:i:0\r\nredirectprinters:i:1\r\nredirectcomports:i:0\r\nredirectsmartcards:i:1\r\nredirectwebauthn:i:1\r\nredirectclipboard:i:1\r\nredirectposdevices:i:0\r\nautoreconnection enabled:i:1\r\nauthentication level:i:2\r\nnegotiate security layer:i:1\r\nremoteapplicationmode:i:0\r\nalternate shell:s:\r\nshell working directory:s:\r\ngatewaycredentialssource:i:4\r\ngatewaybrokeringtype:i:0\r\nuse redirection server name:i:0\r\nrdgiskdcproxy:i:0\r\nkdcproxyname:s:\r\nenablerdsaadauth:i:0\r\n\"@\r\n    $RDPFile.Add($Template)\r\n\r\n    # This will generate the actual .rdp file\r\n    $ShortcutPath | ForEach-Object {\r\n        $RDPFile.Add(\"full address:s:$RDPTarget\")\r\n        $RDPFile.Add(\"gatewayhostname:s:$Gateway\")\r\n\r\n        if ($Width) { $RDPFile.Add(\"desktopwidth:i:$Width\") }\r\n        if ($Height) { $RDPFile.Add(\"desktopheight:i:$Height\") }\r\n        if ($MultiMon) { $RDPFile.Add(\"use multimon:i:1\") }else { $RDPFile.Add(\"use multimon:i:0\") }\r\n        if ($FullScreen -or $MultiMon -or !$Height -or !$Width) { $RDPFile.Add(\"screen mode id:i:2\") }else { $RDPFile.Add(\"screen mode id:i:1\") }\r\n        if ($AlwaysPrompt) { $RDPFile.Add(\"prompt for credentials:i:1\") }else { $RDPFile.Add(\"prompt for credentials:i:0\") }\r\n        if ($Gateway) { $RDPFile.Add(\"gatewayusagemethod:i:2\") }else { $RDPFile.Add(\"gatewayusagemethod:i:4\") }\r\n        if ($SeparateGateWayCreds) { \r\n            $RDPFile.Add(\"promptcredentialonce:i:0\")\r\n            $RDPFile.Add(\"gatewayprofileusagemethod:i:1\")  \r\n        }\r\n        else { \r\n            $RDPFile.Add(\"promptcredentialonce:i:1\") \r\n            if ($Gateway) { $RDPFile.Add(\"gatewayprofileusagemethod:i:0\") }\r\n        }\r\n            \r\n        if ($RDPUser) { $RDPFile.Add(\"username:s:$RDPUser\") }\r\n\r\n        Write-Host \"Creating Shortcut at $_\"\r\n        $RDPFile | Out-File $_\r\n\r\n        if (!(Test-Path $_ -ErrorAction SilentlyContinue)) {\r\n            Write-Error \"Unable to create Shortcut at $_\"\r\n            exit 1\r\n        }\r\n    }\r\n\r\n    exit 0\r\n}end {\r\n    \r\n    \r\n    \r\n}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Acesse mais de 300 scripts no NinjaOne Dojo<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/freetrialform\/\">Obter acesso<\/a><\/p>\n<\/div>\n<h2>Explorando o roteiro: Uma an\u00e1lise passo a passo<\/h2>\n<p>O script come\u00e7a com uma sinopse e uma descri\u00e7\u00e3o, fornecendo uma vis\u00e3o geral clara de sua funcionalidade. Em seguida, ele descreve par\u00e2metros como o nome do atalho, o servidor RDP de destino, as credenciais do usu\u00e1rio, as op\u00e7\u00f5es de exibi\u00e7\u00e3o (como tela cheia ou suporte a v\u00e1rios monitores) e a op\u00e7\u00e3o de criar atalhos para todos os usu\u00e1rios ou para usu\u00e1rios espec\u00edficos.<\/p>\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>Defini\u00e7\u00e3o de par\u00e2metros<\/strong>: O script define v\u00e1rios par\u00e2metros que permitem a personaliza\u00e7\u00e3o do atalho RDP. Isso inclui detalhes b\u00e1sicos, como o nome do atalho, o destino do RDP e o usu\u00e1rio, bem como op\u00e7\u00f5es mais avan\u00e7adas, como tamanho da janela, suporte a v\u00e1rios monitores e configura\u00e7\u00e3o do gateway.<\/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>Vari\u00e1veis de ambiente e verifica\u00e7\u00e3o de conflitos<\/strong>: O script verifica e substitui os par\u00e2metros por vari\u00e1veis de ambiente, se dispon\u00edveis. Ele tamb\u00e9m emite avisos no caso de op\u00e7\u00f5es conflitantes, como a especifica\u00e7\u00e3o de tela cheia e tamanho da janela.<\/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>Manuseio de direitos administrativos e perfis de usu\u00e1rio<\/strong>: O script inclui uma fun\u00e7\u00e3o para verificar se h\u00e1 direitos administrativos, necess\u00e1rios para criar atalhos em determinados caminhos de diret\u00f3rio. Ele tamb\u00e9m cont\u00e9m uma fun\u00e7\u00e3o para recuperar perfis de usu\u00e1rio, excluindo contas de sistema, o que \u00e9 crucial para a implementa\u00e7\u00e3o de atalhos em \u00e1reas de trabalho de usu\u00e1rios espec\u00edficos.<\/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>Processo de cria\u00e7\u00e3o de atalhos<\/strong>: O script gera o arquivo .RDP, anexando as op\u00e7\u00f5es selecionadas pelo usu\u00e1rio a um modelo b\u00e1sico. Em seguida, ele percorre os caminhos de atalho determinados, criando o arquivo RDP em cada local.<\/li>\n<\/ul>\n<h2>Casos de uso em potencial: Um aplicativo do mundo real<\/h2>\n<p>Imagine um MSP respons\u00e1vel por gerenciar o acesso remoto de uma empresa com v\u00e1rios departamentos, cada um exigindo configura\u00e7\u00f5es espec\u00edficas de RDP. Com esse script, o MSP pode gerar rapidamente atalhos RDP personalizados para cada departamento, implementando-os nos respectivos desktops dos usu\u00e1rios de forma eficiente e reduzindo significativamente o tempo de configura\u00e7\u00e3o manual.<\/p>\n<h2>An\u00e1lise comparativa: Script vs. m\u00e9todos tradicionais<\/h2>\n<p>Em compara\u00e7\u00e3o com a cria\u00e7\u00e3o manual de atalhos RDP, esse script oferece vantagens significativas em termos de escalabilidade, personaliza\u00e7\u00e3o e redu\u00e7\u00e3o de erros. Embora os m\u00e9todos manuais possam ser suficientes para configura\u00e7\u00f5es individuais, eles se tornam impratic\u00e1veis em ambientes maiores e mais din\u00e2micos, nos quais esse script pode gerenciar configura\u00e7\u00f5es complexas sem esfor\u00e7o.<\/p>\n<h2>Implica\u00e7\u00f5es e considera\u00e7\u00f5es sobre seguran\u00e7a<\/h2>\n<p>Embora esse script simplifique significativamente a cria\u00e7\u00e3o de atalhos RDP, \u00e9 essencial considerar as implica\u00e7\u00f5es de seguran\u00e7a. O manuseio adequado das credenciais e a garantia de que os atalhos sejam implementados apenas para usu\u00e1rios autorizados s\u00e3o aspectos cruciais. Al\u00e9m disso, os MSPs devem revisar regularmente as configura\u00e7\u00f5es de atalhos para manter os padr\u00f5es de seguran\u00e7a.<\/p>\n<h2>Pr\u00e1ticas recomendadas para o uso de scripts<\/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=\"4\" data-aria-level=\"1\"><strong>Testes minuciosos<\/strong>: Antes de uma implementa\u00e7\u00e3o generalizada, teste completamente o script em um ambiente controlado.<\/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>Atualiza\u00e7\u00f5es regulares<\/strong>: Mantenha o script atualizado com as altera\u00e7\u00f5es na infraestrutura de rede.<\/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=\"6\" data-aria-level=\"1\"><strong>Verifica\u00e7\u00f5es de seguran\u00e7a<\/strong>: Examine regularmente as implementa\u00e7\u00f5es de atalhos para verificar se h\u00e1 vulnerabilidades de seguran\u00e7a.<\/li>\n<\/ul>\n<h2>Conclus\u00e3o: Aprimoramento do gerenciamento de \u00e1rea de trabalho remota com o NinjaOne<\/h2>\n<p>Em conclus\u00e3o, esse script do PowerShell \u00e9 uma ferramenta avan\u00e7ada para criar e gerenciar atalhos RDP, oferecendo personaliza\u00e7\u00e3o e <a href=\"https:\/\/www.ninjaone.com\/pt-br\/eficiencia\/\">efici\u00eancia<\/a>. Ferramentas como o NinjaOne complementam esses scripts, fornecendo uma <a href=\"https:\/\/www.ninjaone.com\/pt-br\/\">plataforma unificada para o gerenciamento de opera\u00e7\u00f5es de TI<\/a>, incluindo conex\u00f5es de \u00e1rea de trabalho remota, simplificando assim as tarefas de gerenciamento de TI e aumentando a produtividade e a seguran\u00e7a gerais em cen\u00e1rios de trabalho remoto.<\/p>\n","protected":false},"author":35,"featured_media":193915,"parent":0,"menu_order":0,"comment_status":"closed","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":[12460],"class_list":["post-815721","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\/815721","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=815721"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media\/193915"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media?parent=815721"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/operating_system?post=815721"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/use_cases?post=815721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}