簡體   English   中英

Powershell 部分匹配字符串密碼復雜性

[英]Powershell Partial Match Strings Password Complexity

我有兩個來自 csv 文件的字符串:

$Password = "dkjhfd22dnrhfg"
$Username = "NewUser22d"

我正在嘗試檢查這一點:不包含用戶的帳戶名或超過兩個連續字符的用戶全名部分。

如果匹配 3 個或更多字符,我想在此處添加:

if(($password -cmatch '[a-z]') -and ($password -cmatch '[A-Z]') -and ($password -match '\d') -and (($password).length -ge 18))

問題:

  1. 我該如何匹配?

  2. 如何添加到現有的 if 語句。

也許運行 function 會更容易

因為你真的不需要尋找(更多)最小密碼/用戶名匹配

Function Check-Password{
    param(
        [string]$Username,
        [string]$Password,
        [int]$MatchLength
    )
    for($i = 0; $i -ne ($Username.Length - ($MatchLength - 1)); $i++){
        $Username.Substring($i, $MatchLength) | Where-Object {$Password -like "*$_*"}
    }
}

Check-Password -Username "NewUser22d" -Password "dkjhfd22dnrhfg" -MatchLength 3

這將返回

22d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM