前三篇文章中创建了PSNet程序集,其中包含了对指定IP进行端口扫描,收发TCP消息包和收发UDP消息包的相关功能,作为这是最基本的对网络情况的最基本检测,后续的文章将会对此程序集进行不断的扩充使其包含更全面的功能。但是光有这些简单网络探测的功能还远远不够,为了能更全面的使用PowerShell针对网络安全进行检测,在本文中将会创建PSSecurity程序集用于存放相关通过PowerShell的脚本。参照前几篇文章中创建PSNet程序集的方法和目录结构创建PSSecurity程序集目录,便于后续对程序集的扩展。
具体详细的步骤请参见前几篇文章,创建PSSecurity程序集之后的目录结构和文件如下所示:
代码如下:
+D:/MY DOCUMENTS/WINDOWSPOWERSHELL/MODULES
└─PSSecurity
│ PSSecurity.psm1
│
└─SQLServer
Get-SqlSysLogin.ps1
在$Profile中添加:
代码如下:
Import-Module $env:PSSpace/PSSecurity #用于在PowerShell启动时自动加载PSSecurity程序集
其中PSSecurity.psm1中的内容如下:
代码如下:
. $env:PSSpace/PSSecurity/SQLServer/Get-SqlSysLogin.ps1 #导入Get-SqlSysLogin函数
Write-Host "PSSecurity Module Added" -BackgroundColor green -ForegroundColor blue #用于提示此模块已加载
Export-ModuleMember -Function * #用于将函数导出为模块成员
接下来就是Get-SqlSysLogin.ps1的内容了
代码如下:
=====文件名:Get-SqlSysLogin.ps1=====
function Get-SqlSysLogin {
Param(
[Parameter(Mandatory = $true,
Position = 0,
ValueFromPipeLine= $true)]
[Alias("PSComputerName","CN","MachineName","IP","IPAddress")]
[string]$ComputerName,
[parameter(Position = 1)]
[string]$UserName,
[parameter(Position = 2)]
[string]$Password
)
Process {
$Connection = New-Object System.Data.SQLClient.SQLConnection
if($userName) {
$Connection.ConnectionString = "Data Source=$ComputerName;Initial Catalog=Master;User Id=$userName;Password=$password;"
} else {
$Connection.ConnectionString = "server=$computerName;Initial Catalog=Master;trusted_connection=true;"
}
Try {
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand #创建SQLClient对象
$Command.Connection = $Connection
新闻热点
疑难解答