[玩转系统] PowerShell 生成随机密码
作者:精品下载站 日期:2024-12-14 15:47:20 浏览:11 分类:玩电脑
PowerShell 生成随机密码
您是否正在寻找一种快速方法来为多个帐户或 Web 应用程序创建强而安全的密码? PowerShell 是一种易于使用的终端语言,可让您快速生成随机密码,有助于节省时间并保证数据安全。在这篇博文中,我们将探讨如何使用 PowerShell 命令生成具有各种长度和复杂性要求的随机密码。那么让我们开始吧!
为什么使用 PowerShell 随机密码生成器?
在 PowerShell 中使用随机密码生成器有几个优点。首先,它确保生成的密码是真正随机的,与使用可预测模式或个人信息创建的密码相比,它们更加安全。此外,PowerShell 随机密码生成器可实现自动化,非常适合需要快速生成多个密码的场景,例如在 Active Directory 中创建用户帐户或设置服务帐户时。通过利用 PowerShell 的强大功能,您可以创建复杂且唯一的密码,而无需外部工具或手动干预。
如何在PowerShell中生成随机字符串?
要在 PowerShell 中生成随机字符串,可以使用以下脚本:
-join ((97..122) | Get-Random -Count 10 | ForEach-Object {[char]$_})
这将生成一个长度为 10 的随机字符串,其中包含小写字母 (a-z)。例如。
lyknbwdrxu
nlqgyuptac
iemrvdakzx
phxcvwdknb
您可以通过更改 -Count
参数的值来调整字符串的长度。例如,要生成长度为 20 的字符串,您可以使用 -Count 20
。
您还可以通过调整传递给 Get-Random
的 ASCII 值的范围来修改字符串中包含的字符。例如,要生成包含大写字母、小写字母和数字的字符串,可以使用以下命令:
$RandomString = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 10 | ForEach-Object {[char]$_})
这将生成一个长度为 10 的随机字符串,包含大写字母和数字。要从给定字符创建随机字符串,请使用:
-Join("ABCDabcd&@#$%1234".tochararray() | Get-Random -Count 10 | % {[char]$_})
您可以使用此技术生成任意长度、包含任意字符组合的随机密码。让我们看一下如何通过将脚本包装到可重用函数中来在 PowerShell 中生成随机密码。
自定义随机密码生成器
如果您希望对密码生成过程进行更多控制,可以使用 PowerShell 创建自定义随机密码生成器。此方法允许您根据需要定义字符集和复杂性规则。以下是 PowerShell 中自定义随机密码生成器函数的示例:
function Generate-RandomPassword {
param (
[Parameter(Mandatory)]
[int] $length
)
$charSet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'.ToCharArray()
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$bytes = New-Object byte[]($length)
$rng.GetBytes($bytes)
$result = New-Object char[]($length)
for ($i = 0 ; $i -lt $length ; $i++) {
$result[$i] = $charSet[$bytes[$i]%$charSet.Length]
}
return -join $result
}
Generate-RandomPassword 10
在此示例中,Generate-RandomPassword
函数通过从指定字符集中选择字符来生成随机密码。在这种情况下,字符集包括小写和大写字母以及数字。您可以根据需要修改字符集以包含特殊字符或删除某些字符类型。
使用 PowerShell 的随机密码生成器
强大的密码应包含大写字母、小写字母、特殊字符和数字。现场想出这些密码并不总是那么容易,因此您可能需要考虑生成一个随机密码。以下是如何在 PowerShell 中创建随机密码。
Function Get-RandomPassword
{
#define parameters
param([int]$PasswordLength = 10)
#ASCII Character set for Password
$CharacterSet = @{
Uppercase = (97..122) | Get-Random -Count 10 | % {[char]$_}
Lowercase = (65..90) | Get-Random -Count 10 | % {[char]$_}
Numeric = (48..57) | Get-Random -Count 10 | % {[char]$_}
SpecialChar = (33..47)+(58..64)+(91..96)+(123..126) | Get-Random -Count 10 | % {[char]$_}
}
#Frame Random Password from given character set
$StringSet = $CharacterSet.Uppercase + $CharacterSet.Lowercase + $CharacterSet.Numeric + $CharacterSet.SpecialChar
-join(Get-Random -Count $PasswordLength -InputObject $StringSet)
}
#Call the function to generate random password of 8 characters
Get-RandomPassword -PasswordLength 8
#Sample Output: glx`FC>Y
此功能将生成一个完全随机的安全密码,满足所有现代安全标准和要求(大小写字母、数字和特殊字符的组合)。调用Get-RandomPassword函数生成10个字符长的随机密码。
使用内置 System.Web.Security.Membership 类
在 PowerShell 中生成随机密码的最简单、最有效的方法之一是利用内置的 System.Web.Security.Membership 类。此类提供了一个名为 GeneratePassword()
的方法,允许您生成具有指定长度和复杂性的随机密码。
以下是使用 .NET 框架方法创建安全随机密码的简单方法:
[System.Web.Security.Membership]::GeneratePassword(10,2)
此命令生成一个随机的 10 个字符的密码,其中包含两个非字母数字字符(例如 %&)。如果您想要更多或更少的密码字符,只需将命令中的数字 10 更改为您想要的密码长度(例如 10)。
function Generate-Password {
param (
[Parameter(Mandatory)]
[int] $length,
[int] $amountOfNonAlphanumeric = 1
)
Add-Type -AssemblyName 'System.Web'
return [System.Web.Security.Membership]::GeneratePassword($length, $amountOfNonAlphanumeric)
}
Generate-Password 10
Generate-Password
函数采用两个参数:length
和 amountOfNonAlphanumeric
。 length
参数确定密码的长度,而 amountOfNonAlphanumeric
参数指定密码中非字母数字字符的数量。通过调整这些参数,您可以生成满足您特定要求的密码。
结论:
创建强密码是当今世界保持在线安全的重要组成部分。幸运的是,当您可以使用 PowerShell 命令轻松生成密码时,无需花费数小时来思考复杂的密码!只需几个简单的步骤,您就可以快速创建符合当前安全标准的完全随机的密码 - 并且让您的数据远离窥探!
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag