2017-04-10 44 views
0

我在從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的用戶ID,點擊按鈕和PowerShell是不實際讀取輸入的值。我不斷收到錯誤消息

的Set-ADUser便有:無法找到身份對象:「」

我不知道如果我的範圍

$script:id = $useridbox.Text; 

是正確的,或者如果我必須在腳本中更早地聲明變量,或者我在這裏錯過的是什麼導致了這一點。

+0

'$ useridbox.Text'是否給出你認爲它的文字?你的代碼太不完整了,我們不能說。請使它成爲[mcve]。 –

+0

我想我可能會一起使用這個錯誤, – xs0u1x

+0

當我聲明變量$ Script:id = $ useridbox.Text; 我的想法是,當按鈕被點擊時,它會抓住當時輸入到文本框$ useridbox的任何文本。 – xs0u1x

回答

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」文本框是我的腳本兩次,我不知道爲什麼。我刪除了額外的一個,我的腳本完美運行。

謝謝大家試圖回答。

相關問題