zoukankan      html  css  js  c++  java
  • powershell reset AD password every 2 hours

    $logPath="C:\inetpub\changePwd_log.txt"
    "=============" + [DateTime]::Now.ToString() + "=============" | Out-File -FilePath $logPath -Append
    
    $sysUsers=",administrator,spadmin,joh,guest,Uwe Kukla,krbtgt,"
    #$strFilter = "(&(objectCategory=User)(Department=Finance))"
    $strFilter = "(&(objectCategory=User))"
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"
    
    $colProplist = "name"
    foreach ($i in $colPropList)
        {
        #    $objSearcher.PropertiesToLoad.Add($i)
        }
    
    
    $colResults = $objSearcher.FindAll()
    
    foreach ($objResult in $colResults)
        {
        $objItem = $objResult.Properties;
        #$objItem.name
        if($sysUsers.tolower().contains("," + $objItem.name[0].tolower() + ","))
        {
            continue;
        }
    
    
        $now=[DateTime]::Now.AddHours(-2)
        #$now=[DateTime]::Now.AddMinutes(-2)
        #$dt=[datetime]::FromFileTimeUtc($objItem.properties.pwdlastset.value)
        $dt=[datetime]::fromfiletime($objItem.pwdlastset[0])
        #write-host($objItem.name[0])
        #if($objItem.name[0].ToLower().Equals("test4"))
        #{
        #    write-host($objItem.name[0] + "    " + $dt + "    " + $now)
        #}
        if($now -gt $dt)
        {
            $secure = convertto-securestring "Abaa11" -asplaintext -force
            #write-host($objItem.distinguishedname[0])
            #Set-ADAccountPassword -Identity $objItem.name[0] -NewPassword $secure -reset
            Set-ADAccountPassword -Identity $objItem.distinguishedname[0] -NewPassword $secure -reset
            #write-host($objItem.name[0] + "    " + $dt.tostring())    
            $objItem.name[0] + "    " + $dt.tostring() + "      " + [DateTime]::Now.tostring() | Out-File -FilePath $logPath -Append
        }
        ##Write-Host ([DateTime]::Now.AddHours(-2).ToString())
        #$objItem.pwdlastset
        }
  • 相关阅读:
    关于对话框创建与销毁的虚函数用法
    控件属性设置注意事项
    删除非空文件夹下所有内容方法
    CString类使用技巧
    视图间通信方法
    CTreeCtrl控件使用技巧
    MFC MDI 遍历打开的所有文档
    将datagrid的数据源到出导excel
    ASP.NET 給一組控件賦值 範例.
    ASP.NET Resouce Kit
  • 原文地址:https://www.cnblogs.com/zyip/p/3007087.html
Copyright © 2011-2022 走看看