PowerShell:管理员权限-有什么问题?

时间:2018-07-05 07:16:20

标签: powershell

我对PowerShell完全陌生,这可能是一个愚蠢的问题

我创建了一个小脚本来远程添加管理员权限:

$computername = Read-Host 'Computername';
$name = Read-Host 'UserName'; 
Enter-Pssession -computername $computername; 
Add-LocalGroupMember -Group "Administrators" -Member $name;

如果我尝试一起运行,那将不起作用

但是如果我尝试单独运行它,它将起作用

 $computername = Read-Host 'Computername'
 Enter-Pssession -computername $computername;

然后

 $name = Read-Host 'UserName';
 Add-LocalGroupMember -Group "Administrators" -Member $name;

您介意告诉我出什么问题了吗

谢谢!

2 个答案:

答案 0 :(得分:3)

在脚本中输入PSSession后,变量$name再次设置为$0,因为您没有将变量传递给会话。

我会尝试像这样运行脚本:

$computername = Read-Host 'Computername'
$name = Read-Host 'UserName'

Invoke-Command {
  param($name)
  Add-LocalGroupMember -Group "Administrators" -Member $name
} -computer $computername -ArgumentList $name

答案 1 :(得分:1)

这基本上与Paxz答案相同,但是是单线的。

您可以在Invoke-Command脚本块中添加“ using:”作为局部变量。

$computername = Read-Host 'Computername'
$name = Read-Host 'UserName'

Invoke-Command -ComputerName $computername -ScriptBlock {Add-LocalGroupMember -Group "Administrators" -Member $using:name}