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
        }
  • 相关阅读:
    git查日志命令
    使用git把本地目录传到远程仓库
    本地ssh设置多个git项目访问
    php的phar是什么?
    .ssh免密登录问题解决
    idea配置tomcat时,运行按钮灰色禁用状态
    idea快捷键main,print,代码提示
    windows安装hadoop找不到JAVA_HOME
    spring boot 启动时找不到主类
    jquery 删除自己
  • 原文地址:https://www.cnblogs.com/zyip/p/3007087.html
Copyright © 2011-2022 走看看