我有一个使用PowerShell自定义操作的Installshield项目。在我的一个对话框中,我要求用户输入用户名和密码,然后我验证凭据(使用powershell),我只想在凭据正确的情况下启用Next
按钮。
这可以通过powershell动作项来实现吗?我使用PowerShell的原因是我根本不懂InstallScript。
到目前为止,这是我的powershell脚本:
Function Test-UserCredential {
Param($username, $password)
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$ct = [System.DirectoryServices.AccountManagement.ContextType]::Machine, $env:computername
$opt = [System.DirectoryServices.AccountManagement.ContextOptions]::SimpleBind
$pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList $ct
$Result = $pc.ValidateCredentials($username, $password).ToString()
$Result
}
$comp_username = Get-Property -Name COMPUTER_USERNAME
$comp_password = Get-Property -Name COMPUTER_PASSWORD
$result = Test-UserCredential -username $comp_username -password $comp_password
if ($result)
{
#Enable "Next" button
}
else
{
#Disable "Next" button
}
谢谢。
你需要做三件事。
请注意,为了清楚步骤3的相关性,将其拆分为两个单独的属性可能很有用;在powershell中设置一个,在Set Property控件事件中将其反映到另一个中,并具有读取后者的控制条件。