środa, 28 października 2009

Funkcja sprawdzająca czy w systemie włączona jest Polityka Haseł

Działa wyłącznie z zewnętrznym programem secedit.exe

function BOOL CheckPassPolicyOn(bLog)
BOOL bResult;
string szParam,szProgram,szLinia;
number nLinia,nvExitCode;
begin
bResult = FALSE;
if (Is(FILE_EXISTS,WINSYSDIR^"secedit.exe")) then
szProgram = WINSYSDIR^"secedit.exe";
szParam = '/export /cfg \"'+ TARGETDIR ^ 'secedit.log'+ '\" /areas SECURITYPOLICY';
_LaunchAppEx(szProgram, szParam, WAIT, SW_HIDE,-1,nvExitCode);
Delay(1);
if (Is(FILE_EXISTS,TARGETDIR^'secedit.log')) then
if (bLog) then WriteLog(1,"Sprawdzenie czy włączona \"Polityka Haseł Windows\""); endif;
if (FileGrep(TARGETDIR^'secedit.log', "PasswordComplexity", szLinia, nLinia, RESTART)=0) then
if (StrFind(szLinia,"1")>0) then
bResult = TRUE;
if (bLog) then WriteLog(2,"- włączona"); endif;
else
if (bLog) then WriteLog(2,"- wyłączona"); endif;
endif;
endif;
DeleteFile(TARGETDIR ^ 'secedit.log');
endif; //plik nie istnieje

ProcessEnd("secedit");
endif; //program nie istnieje

return bResult;
end;

Brak komentarzy:

Prześlij komentarz