1 Star 0 Fork 54

Yuna/kasini3000

forked from chuanjiao10/kasini3000 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
zkj_install_powershell_offline_win2linux_pwd_winscp.ps1 6.08 KB
一键复制 编辑 原始数据 按行查看 历史
#建议保存编码为:bom头 + utf8
#只支持用root权限,安装powershell
param
(
[parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[Alias("ipaddress")][String]$目的ip地址,
[Alias("port")][uint16]$端口 = 22,
[ValidateNotNullOrEmpty()]
[Alias("user")][String]$用户名 = 'root',
[ValidateNotNullOrEmpty()]
[Alias("pwd")][String]$密码,
[String]$ssh_key_file_path = "${env:USERPROFILE}\.ssh\id_rsa",
[ValidateNotNullOrEmpty()]
[Alias("linux_powershell_files_path")][String]$linuxpowershell源文件目录 = 'c:\ProgramData\kasini3000\master_script\powershell-7.2-linux-x64'
)
#& 'v-kai开启详细信息输出.ps1'
Write-Verbose ($密码 -eq '')
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
}
else
{
Write-Error "应该使用另一个脚本!"
exit 11
}
if (Test-Path -LiteralPath "${linux版powershell源文件目录}\pwsh")
{
}
else
{
Write-Error '错误:找不到powershell源文件目录,退出码 1'
exit 1
}
if ($密码 -eq '')
{
}
else
{
if (Test-Path -LiteralPath $ssh_key_file_path)
{
}
else
{
Write-Error '错误:找不到ssh_key_file_path,退出码 2'
exit 2
}
}
if ($用户名 -eq 'root')
{
}
else
{
if ($env:LANG -eq 'zh_CN.UTF-8')
{
Write-Error "错误:账户名必须是root。返回码4"
}
else
{
Write-Error "Error: Account name must be root.exit 4"
}
exit 4
}
Import-Module -Name WinSCP
if ((Get-Module -Name WinSCP) -eq $null)
{
if ($env:LANG -eq 'zh_CN.UTF-8')
{
Write-Error "返回码3`n信息:用管理员权限,复制这个目录下的所有文件`nc:\ProgramData\kasini3000\lib\kasini3000\ProgramFiles_WindowsPowerShell_Modules\*,`n`nc:\Program Files\PowerShell\Modules\"
}
else
{
Write-Error "exit 3`ninfo:use admin,copy files from:`nc:\ProgramData\kasini3000\lib\kasini3000\ProgramFiles_WindowsPowerShell_Modules\*,`nto`nc:\Program Files\PowerShell\Modules\"
}
exit 3
}
if ($密码 -eq '')
{
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "rm -rf /opt/microsoft"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "mkdir -p '/opt/microsoft/powershell/7'"
c:\ProgramData\kasini3000\k_copyto_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -LiteralPath "${linux版powershell源文件目录}/*" -Destination '/opt/microsoft/powershell/7/'
Start-Sleep 3
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "chmod -R 755 /opt/microsoft/powershell/7/pwsh"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "echo '' >> /etc/ssh/sshd_config"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "echo 'Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile' >> /etc/ssh/sshd_config"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "echo 'UseDNS no' >> /etc/ssh/sshd_config"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -ssh_key_file_path $ssh_key_file_path -单行shell命令 "systemctl restart sshd.service"
}
else
{
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 单行shell命令 "rm -rf /opt/microsoft"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "mkdir -p '/opt/microsoft/powershell/7'"
c:\ProgramData\kasini3000\k_copyto_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -LiteralPath "${linux版powershell源文件目录}/*" -Destination '/opt/microsoft/powershell/7/'
Start-Sleep 3
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "chmod -R 755 /opt/microsoft/powershell/7/pwsh"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "echo '' >> /etc/ssh/sshd_config"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "echo 'Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile' >> /etc/ssh/sshd_config"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "echo 'UseDNS no' >> /etc/ssh/sshd_config"
c:\ProgramData\kasini3000\k_run_ip_port_winscp2bash_user_pwd.ps1 -目的ip地址 $目的ip地址 -端口 $端口 -用户名 'root' -密码 $密码 -单行shell命令 "systemctl restart sshd.service"
}
Write-Warning 'info : Manually install openssl-libs, libicu, krb5-libs, on this pc'
exit 0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PowerShell
1
https://gitee.com/YunaCode/kasini3000.git
git@gitee.com:YunaCode/kasini3000.git
YunaCode
kasini3000
kasini3000
master

搜索帮助