You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

优化PowerShell远程添加用户至本地RDP组函数:实现单次输入

优化Add-LocalRDPUser函数实现一次性传参

优化后的函数代码

function Add-LocalRDPUser {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory=$true)]
        [string]$ServerName,
        
        [Parameter(Mandatory=$true)]
        [string]$UserName,
        
        [string]$Domain = "DOMAIN" # 可根据实际需求修改默认域,或设为Mandatory让用户传入
    )

    $member = "$Domain\$UserName"
    Write-Host "[ Preparing to add member '$member' to 'Remote Desktop Users' group on '$ServerName' ]"

    Invoke-Command -ComputerName $ServerName -ScriptBlock {
        $targetMember = $using:member
        $groupName = "Remote Desktop Users"
        
        Write-Host "[ Adding Member '$targetMember' to the '$groupName' group on '$env:COMPUTERNAME' ]"
        Add-LocalGroupMember -Group $groupName -Member $targetMember
        
        $currentMembers = (Get-LocalGroupMember -Group $groupName).Name -join ", "
        Write-Host "[ Current group members for Server $env:COMPUTERNAME = $currentMembers ]"
    }
}

关键改动说明

  • 新增ServerName、UserName强制参数,调用时一次性传入所有必要信息,彻底消除交互式输入步骤
  • 新增可选Domain参数,默认值设为固定域,也可改为强制参数适配多域场景
  • 使用PowerShell using:作用域将本地变量传递到远程脚本块(PowerShell 3.0+支持),替代原远程端的Read-Host输入
  • 优化成员列表输出格式,用-join将成员转为逗号分隔字符串,提升可读性
  • 添加[CmdletBinding()]和参数验证,让函数符合PowerShell最佳实践

执行示例

指定参数名调用:

PS C:\> Add-LocalRDPUser -ServerName <RemoteServerName> -UserName <SubjectUserName>
[ Preparing to add member 'DOMAIN\<SubjectUserName>' to 'Remote Desktop Users' group on '<RemoteServerName>' ]
[ Adding Member 'DOMAIN\<SubjectUserName>' to the 'Remote Desktop Users' group on '<RemoteServerName>' ]
[ Current group members for Server <RemoteServerName> = DOMAIN\<ExistingUser>, DOMAIN\<SubjectUserName> ]
PS C:\>

使用位置参数(省略参数名)调用:

PS C:\> Add-LocalRDPUser <RemoteServerName> <SubjectUserName>

批量处理扩展建议

如果需要同时操作多台服务器,可将ServerName参数改为数组类型:

[Parameter(Mandatory=$true)]
[string[]]$ServerName,

调用时传入多个服务器名:

Add-LocalRDPUser -ServerName Server01,Server02 -UserName JohnDoe

内容的提问来源于stack exchange,提问作者FlyingSubieSTi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:35:01