Я написал этот простой скрипт Autohotkey, чтобы извлечь имя пользователя AD из данного описания, а затем посмотреть, заблокирован ли идентификатор пользователя или нет.
Половина скрипта работает нормально, кроме той части, где 2-я команда Powershell:
Ver="%Ver%"
Runwait, PowerShell.exe -Command (Get-Aduser %Ver% -Properties LockedOut).LockedOut | clip,,hide
Result=%clipboard%
эта часть выше, работает, только если она одна на другом скрипте.по какой-то причине буфер обмена первой команды powershell, который получает имя пользователя (SamAccountName), не перезаписывается значением 2-й команды powershell.Это приводит к тому, что предыдущее значение буфера обмена застревает, и поэтому 2-ая команда терпит неудачу, поскольку ее значение должно показывать «True или False» вместо предыдущего значения UserName.
полный сценарий ниже.Кто-нибудь может посоветовать, чего здесь не хватает?
ShowMainGui:
{
;## Read cach file for history and if empty clear it value
IniRead, readfile, %A_MyDocuments%\Luser.ini, main, Key
If (readfile = "ERROR")
{
readfile =
}
Else
{
}
InputBox, UserInput, Enter CorpNO, Please enter CorpNO:, , 250, 150, 700,340 , , , %readfile%
if ErrorLevel {
exit
}
else
{
;##log Corp to Logfile first
IniWrite, %userinput%, %A_MyDocuments%\Luser.ini, main, Key
;;from Description to username
Runwait, PowerShell.exe -Command "Get-AdUser -Filter {(description -like '%UserInput%')} | foreach { $_.SamAccountName } | clip",, hide
Ver =%clipboard%
StringReplace , Ver, Ver, %A_Space%,,All
Msgbox, 262144, The user name is ,%Ver%
;;; check if the user ID is Locked or not. False or True should be the result
Ver:="%Ver%"
Runwait, PowerShell.exe -Command (Get-Aduser %Ver% -Properties LockedOut).LockedOut | clip,,hide
Result=%clipboard%
Msgbox, 262144, False or true,%Result%
;;; end of checking
If InStr(Result, "False") {
Msgbox, 262144, Attention, your account is not locked!
Goto, ShowMainGui
}
MsgBox 4,, Account Locked! Do you want to Unlock it?
IfMsgBox Yes
{
Run, PowerShell.exe -Command "Unlock-ADAccount -Identity %Ver%",, hide
MsgBox 4,, Account is UnLocked!
}
IfMsgBox no
{
Goto, ShowMainGui
}
}
}