有问题从文本框传递输入

时间:2017-04-10 18:53:49

标签: winforms powershell

我在PowerShell中从文本框中读取输入时遇到问题。代码如下:

$button6 = New-Object System.Windows.Forms.Button
$button6.Text = "Disable"
$button6.Width = 60
$button6.Height = 30
$button6.Add_Click({
   $script:id = $useridbox.Text;
   $script:db = $disabledby.Text;
   $script:date = Get-Date;
   Set-ADUser -Identity $id -Description "Disabled on $date by $db";
   Disable-ADAccount -Identity $id;
   Move-ADObject -Identity (Get-ADUser $id).ObjectGuid -TargetPath 'ou=Disabled and Terminated Accounts, dc=domain, dc=domain';
})

$button6.Location = New-Object System.Drawing.Point(136, 251)
$button6.Font = "Microsoft Sans Serif,10"
$Form.Controls.Add($button6)

因此,您在标题为useridbox的文本框中键入userid,单击该按钮,PowerShell实际上并未读取输入的值。我一直收到错误消息

  

Set-ADUser:找不到具有标识的对象:''

我不确定我的范围

$script:id = $useridbox.Text; 

是正确的,或者我是否必须在脚本中更早地声明变量,或者我在这里错过了什么导致这一点。

1 个答案:

答案 0 :(得分:1)

我现在觉得自己像个白痴,但我发现了问题。

由于某种原因,代码块

$useridbox = New-Object system.windows.Forms.TextBox
$useridbox.Width = 117
$useridbox.Height = 20
$useridbox.location = new-object system.drawing.point(136,18)
$useridbox.Font = "Microsoft Sans Serif,10"
$Form.controls.Add($useridbox)

定义标有" useridbox"的文本框;在我的剧本中两次,我不明白为什么。我删除了额外的一个,我的脚本运行得很好。

感谢所有试图回答的人。