我正在尝试执行脚本来禁用域服务器中的批量用户。用户被禁用,而我被显示禁用的用户帐户。在PowerShell输出中,它显示禁用了所有id。当我试图在PowerShell表单中显示相同的输出时。它只显示最后一个用户id禁用列表。供你参考的剧本和截图。


Add-Type -AssemblyName System.Windows.Forms
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{
Multiselect = $false # Multiple files can be chosen
Filter = 'SpreadSheet (*.csv)|*.csv' # Specified file types
}
[void]$FileBrowser.ShowDialog()
$file = $FileBrowser.FileName;
If ($FileBrowser.FileNames -like "*\*") {
# Do something
Import-Csv $FileBrowser.FileNames | ForEach-Object { $samAccountName = $_."samAccountName"
Get-ADUser -Identity $samAccountName | Disable-ADAccount
Start-Sleep 1
$Result = Write-Output "Account has been disabled $samAccountName "
# Assign Result to OutputBox
$outputBox.Text = $Result
}
}用于禁用用户帐户的以下脚本
Add-Type -AssemblyName System.Windows.Forms
$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{
Multiselect = $false # Multiple files can be chosen
Filter = 'SpreadSheet (*.csv)|*.csv' # Specified file types
}
[void]$FileBrowser.ShowDialog()
$file = $FileBrowser.FileName;
If($FileBrowser.FileNames -like "*\*") {
# Do something
Import-Csv $FileBrowser.FileNames | ForEach-Object {$samAccountName = $_."samAccountName"
Get-ADUser -Identity $samAccountName | Disable-ADAccount
Start-Sleep 1
$Result = Write-Output "Account has been disabled $samAccountName "
# Assign Result to OutputBox
$outputBox.Text = $Result
}
}
}发布于 2022-04-19 09:42:01
在执行$outputBox.Text = $Result时,您当前重写了前面的值。在更新文本框时,请确保包括前面的值,如下所示:
$outputBox.Text = $outputBox.Text,$Result -join "`r`n"这样,每次后续更新都会向文本框中添加一个新行,然后添加新值,因此它的作用更像控制台中的屏幕缓冲区。
https://stackoverflow.com/questions/71922277
复制相似问题