|
function Shell{
param(
$command
)
$session=IsConnectionned ssh
$r=Invoke-SSHCommand -SSHSession $session -Command $command
$r=$r.Output -split "\n"
#Remove-SSHSession -SSHSession $session|Out-Null
#Write-Host "Return follow message:" -fore Yellow
return $r
}
function Get-LinuxUser{
$session=IsConnectionned ssh
$r=Invoke-SSHCommand -SSHSession $session -Command "cat /etc/passwd"
#Remove-SSHSession -SSHSession $session|Out-Null
#Write-Host "Return follow message:" -fore Yellow
$r = ($r.Output -split "\n")
$arr=New-Object System.Collections.ArrayList
foreach($u in $r){
$u=$u -split ":"
$psobject = New-Object psobject
Add-Member -MemberType NoteProperty -Name Server -Value $computer -InputObject $psobject
Add-Member -MemberType NoteProperty -Name UserName -Value $u[0] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name Password -Value $u[1] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name UserUID -Value $u[2] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name UserGID -Value $u[3] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name Comment -Value $u[4] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name HomeDirectory -Value $u[5] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name Shell -Value $u[6] -InputObject $psobject
[void]$arr.add($psobject)
}
return $arr
Remove-Variable $u
Remove-Variable $psobject
Remove-Variable $arr
}
function Get-LinuxFileInfo{
param($filename)
if(-not([string]::IsNullOrEmpty($filename)) -and ($filename -notmatch "\\")){
$command="ls -l --full-time $filename|awk " + "'" + '{print ' + '$1' + ','+ '$2'+ ',' + '$3'+ ',' + '$4'+ ',' + '$5'+ ',' + '$6'+ ',' + '$7'+ ',' + '$8'+ ',' + '$9' +'} ' + "'"
$result=shell $command
$reArray=$result -split '\n'
$fileInfoList=New-Object System.Collections.ArrayList
foreach($re in $reArray){
if($re -eq ""){
break
}
$re=$re -split ' '
$re[6]=($re[6] -split '\.')[0]
$psobject=New-Object psobject
Add-Member -MemberType NoteProperty -Name 服务器 -Value $computer -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 权限 -Value $re[0] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 文件数 -Value $re[1] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 用户 -Value $re[2] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 组 -Value $re[3] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 大小 -Value $re[4] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 日期 -Value $re[5] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 时间 -Value $re[6] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 时区 -Value $re[7] -InputObject $psobject
Add-Member -MemberType NoteProperty -Name 文件名 -Value $re[8] -InputObject $psobject
[void]$fileInfoList.add($psobject)
}
return $fileInfoList
}else{
Write-Warning "格式不正确或未指定Linux地址"
exit 1
}
}
|
|
|