powersheel远程连接遇到的坑

powersheel远程连接密码加密连接高级玩法

1.ConvertTo-SecureStringConvertFrom-SecureString 命令都支持选项 -Key。在处理密码时通过使用 Key 选项可以提供额外的安全性,并且允许在不同的环境中使用密码文件。

先生成 32 位的 Key 并保存在文件 aes.key 中:

$keyFile = "D:\aes.key"
$key = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($key)
$key | out-file $keyFile
}

使用 Key 生成并保存密码文件:

Read-Host "Enter Password" -AsSecureString | ConvertFrom-SecureString -key $key | Out-File "D:\pwd.txt"
}

使用密码文件创建和 Key 文件创建 Credential 信息:

$userName = "YourUserName"
$passwdFile = "D:\pwd.txt"
$keyFile = "D:\aes.key"
$key = Get-Content $keyFile
$Cred = New-Object -TypeName System.Management.Automation.PSCredential `
                   -ArgumentList $userName, (Get-Content $passwdFile | ConvertTo-SecureString -Key $key)

通过这种方法,把 pwd.txtaes.key 文件拷贝到其它的机器上也是可以工作的。但是我们需要额外维护一个 key 文件的安全,这一般通过设置文件的访问权限就可以了。

下面来远程连接服务器查看磁盘中文件信息代码如下:

$userName = "administrator"
$passwdFile = "C:\powersheel\pwd.txt"
$keyFile = "C:\powersheel\AES.key"
$key = Get-Content $keyFile
$cred = New-Object -TypeName System.Management.Automation.PSCredential `
                   -ArgumentList $userName, (Get-Content $passwdFile | ConvertTo-SecureString -Key $key)
$remoteServer='www.bai.com' 

unction connRemoteSever {
    # 连接远程服务器
    Param (
        $remoteServer,$cred

    )
        #$passwordSecure = ConvertTo-SecureString $pwd -AsPlainText -Force
        #$cred = New-Object pscredential($userName, $passwordSecure)
        $mySession = New-PSSession -ComputerName $remoteServer -Port 55985  -Credential $cred  # 这边的Port默认是5985、5986
        return $mySession
}

# 连接到远程服务器
$webSession=connRemoteSever  $remoteServer  $cred

Invoke-Command -Session $webSession -ScriptBlock {

            dir d:
            Write-Host '-----------1.在覆盖网站内容前,先停止网站-----------'
            #Import-Module WebAdministration; Stop-WebAppPool -Name "$appPoolName"
            #Import-Module WebAdministration; Stop-WebSite -Name "$appWebSiteName" 

            Write-Host '-----------2.备份IIS中绩效的网站-----------'
            #Copy-Item -Path "D:\web\kpi_dev" "D:\web\Backup\kpi_dev_$backtime" -Recurse -Force

            Write-Host '-----------3.删除IIS绩效后端-----------'
            #Remove-Item -Path $DelFilePath -Recurse -Force

            Write-Host '-----------4.复制最新绩效后端到IIS发布的文件夹-----------'
            #Copy-Item -Path "D:\web\WebFTP\publish_kpi_BackEnd_dev\$banben\*" "D:\web\kpi_dev\BackEnd\" -Recurse -Force

            Write-Host '-----------5.复制web.config到IIS发布的文件夹-----------'
            #Copy-Item -Path "D:\web\kpi_dev\web.config" "D:\web\kpi_dev\BackEnd\" -Recurse -Force

            Write-Host '-----------6.启动网站-----------'
            #Import-Module WebAdministration; Start-WebAppPool -Name "$appPoolName"
            #Import-Module WebAdministration; Start-WebSite -Name "$appWebSiteName" 

} 

原文地址:https://www.cnblogs.com/jbps/p/10346482.html

时间: 2024-11-01 21:00:21

powersheel远程连接遇到的坑的相关文章

powersheel远程连接方法操作

powersheel远程连接密码加密连接高级玩法 ConvertTo-SecureString 和 ConvertFrom-SecureString 命令都支持选项 -Key.在处理密码时通过使用 Key 选项可以提供额外的安全性,并且允许在不同的环境中使用密码文件. 先生成 32 位的 Key 并保存在文件 aes.key 中: $keyFile = "C:\powersheel\aes.key" #加密的key准备放在这个D盘,最好放在一个文件夹里面 $key = New-Obje

ubuntu上安装postgres以及在远程连接上的坑

Ubuntu上是有自带postgres安装版本的,因此我们只用自带的安装: 1.查看可安装版本命令:apt-cache show postgresql 2.安装命令:sudo apt-get install postgresql 3.查看安装是否成功:psql --version 实现远程连接: 1.先修改postgresql.conf 文件:sudo vi /etc/postgres/11/main/postgresql.conf       (注意:其中是根据实际情况写的,要是不确定:cd 

ubuntu 18.04 配置notebook远程连接的坑

jupyter-notebook的安装不在此说明 在网上搜了很多方案都不行,好不容易从坑里爬出来 以下为远程连接配置方法 1.生成配置文件 1 jupyter notebook --generate-config 2.生成连接密钥 这里有两种方法 先说第一种:使用password指令生成密钥,生成的密钥在一个文件里 jupyter notebook password 第二种方法:在python环境中生成密钥 ipython from notebook.auth import passwd pas

Navicat远程连接MySQL8,必知防坑策略

项目上线是每一个开发工程师面临收获前面抓紧时间开发的成果,但有时我们上线项目首先需要做一些相关的业务测试.通过Xshell远程连接后使用命令行的方式连接操作Mysql这个没什么太大的你问题.但每次通过命令这种繁琐的功夫不是程序员应该干的事情,学习还尚可,但是对于开发.效率二字不能离口. 这不,采用本地的Navicat工具直接连接到远程的MySQL8就出事情啦,所以希望这篇文章能够帮助到大家一些相关的开发. 第一步: 打开Navicat工具,编辑连接中的连接信息,分别是配置常规连接与SSH连接 常

mysql 不能远程连接

不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直接看下面地址,我也将内容复制到了地址下面了.自己调试过程有点长,当记录吧,有兴趣的可以看下,也许对你有帮助 http://www.jb51.net/article/33813.htm vim /etc/my.cnf 注释这一行:bind-address=127.0.0.1 ==> #bind-add

如何在Lunix云服务器上安装Mysql进行远程连接

说说这个服务器上安装mysql真是一个大坑啊 ! 我也不知道自己怎么心血来潮就买一个百度云服务器,然后就想着吧自己做的一些小项目都跑上去.嘿嘿...其实就是想显摆下,写点小应用给不是编程的朋友们使用 ,以满足我自己的小心思,哎呀跑题了,一下没有刹住就给跑偏了,继续说安装的事. 网上百度了许多的教程 ,那叫一个坑啊 !刚开始装JDK 和 Tomcat的时候一切都是顺利.直到开始装Mysql时我不知道是我的服务器不一样还是 我的操作失误!反正就是各种不行 ,那叫一个郁闷.各种方法什么解压tar.gz

MySQL5.7远程连接和增加密码

主要是5.7的很多操作和以前版本不一样,所以踩了很多坑. 1. 远程连接cant connect to mysql (10061) 一开始以为是权限问题,所以参考了详解 MySQL 5.7 新的权限与安全问题.发现还是不行 随后根据报错,参考了digitalocean的一个提问.发现好像也没有在 my.cnf里找到 感觉跟digitalocean描述的是一致的,那就继续找conf文件,匹配到为止. 解决方案 参考:https://www.jianshu.com/p/93fa9de59ac1 最终

使用Windows 10系统进行远程连接时,远程桌面连接输入用户名和密码以后提示“您的凭据不工作”无法登陆。

填坑. 网上的办法试了一遍,都没用. 最后是群里的老哥给我发了一链接,才终于知道哪里出问题了. 原因:https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 简单说,微软的最近更新,对Windows Server 2016 Windows Server 2012 R2标准版Windows Server 2012 Standard 服务器系统的支持发生变化,现有

远程连接阿里云服务器出现"远程桌面,身份验证错误:要求的函数不受支持"解决办法

---恢复内容开始--- 阿里云服务器买好了,按照教程跟着来的,然后在远程连接的时候出现了 的这样的东东,按照上面的提示,"是由于Cred SSP 加密 oracle修正",不少人看到这句话是懵逼的,反正我是不懂这提示什么意思... 不管怎样,可以进图片后面所说的网址看看https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 可以看到 然后看到右边