PowerShell动态递增子串长度检查$sAMAccountName是否存在于数组
PowerShell动态检查$sAMAccountName可用性解决方案
优化后的代码
$Nachname = "Nachname" $Vorname = "Vorname" $existingAccounts = @('NachnameV','NachnameVo','NachnameVor') # 从名字首字母1位开始,逐步增加子串长度检查 for ($length = 1; $length -le $Vorname.Length; $length++) { $currentSam = $Nachname + $Vorname.Substring(0, $length) if ($currentSam -notin $existingAccounts) { Write-Host "$currentSam does not exist :-)" break # 找到可用账号后立即终止循环 } # 遍历到名字最大长度仍未找到可用账号时输出提示 if ($length -eq $Vorname.Length) { Write-Host "$currentSam does exist :-(" } }
代码说明
- 使用
for循环动态控制名字子串的长度,从1开始直到$Vorname的总长度,无需手动定义多个sAMAccountName变量 - 每次循环生成当前待检查的账号名
$currentSam - 检查当前账号名是否不存在于已有账号数组中,若存在可用账号则输出提示并终止循环
- 若遍历完所有可能的子串长度仍未找到可用账号,输出对应提示
内容的提问来源于stack exchange,提问作者PalimPalim
相关产品推荐
相关产品推荐

