标题: [问题求助] [已解决]powershell 远程执行命令 [打印本页]
作者: nameyu8023 时间: 2021-12-21 17:19 标题: [已解决]powershell 远程执行命令
本帖最后由 nameyu8023 于 2021-12-22 12:32 编辑
使用 winrm 控制远端的服务器,但是当我使用 Invoke-Command -Credential 指定凭据的时候会弹出一个窗口输入密码。
我如何做到密码直接卸载脚本里,而不是手动输入?
以下是想要执行的命令:- Invoke-Command -Credential administrator password123 -ComputerName 192.168.16.192 -ScriptBlock { get-service }
复制代码
------------以上是源问题,-----------
问题已经解决,记录下以供他人检索.
主要是创建一个凭据,之后可以使用这个凭据来执行远程命令。
以下保存为脚本,使用 powershell -f ./xxx.ps1 mkpw 生成安全的密钥,并将此密钥复制到 $eei_sys_secure_passwd 变量内,此密钥每个系统是唯一的,就是说在本机生成的密钥放到别的机器上无法使用。
可以很好的解决脚本保存明文密码造成的安全隐患。- $eei_sys_username = 'administrator'
- $eei_sys_secure_passwd = "01000000d08c9ddf0115d1118c7a00c04fc297eb01000000b7d3f2a3d1f0384a8b6e714a4a2400fe0000000002000000000010660000000100002000000075ac47cbb38d411e20122a3e98f9984cdeca393116072b3ee3d5b9561e33c23e000000000e800000000200002000000074dd261d1a778d770405ec6de91dc2dca02454c8c0d2b8616cdfa3f1a45d10a8200000007153b0c1b85510cbd4d0d0124f27e43fa966e7e6a95a44da3ff7679ef18b864c400000002da99cff0b4ae11b05568033f51f0c9887f78fccb4828919d13bcc0385b50bed2233c95af3d01ee4ad444a4ce4be516cfabd030d8fc40ab24675545f4d14c9cb"
- $eei_service_name='wuauserv'
-
- #创建安全的密码字符串
- function make-SecurityPasswd()
- {
-
- $securityPasswd = Read-Host "Enter Password" -AsSecureString | ConvertFrom-SecureString
- Set-Clipboard $securityPasswd
- $securityPasswdLength = (convertTo-SecureString $securityPasswd).Length
- Write-Output $securityPasswd
- Write-Output "安全密码以复制到剪切板, 原始密码长度: ${securityPasswdLength}"
-
- }
-
- if ($args[0] -eq 'mkpw') {
- make-SecurityPasswd
- exit 0
- }
-
- #创建安全凭据对象
- $Cred = New-Object -TypeName System.Management.Automation.PSCredential `
- -ArgumentList $eei_sys_username, ($eei_sys_secure_passwd | ConvertTo-SecureString)
-
- Invoke-Command -ComputerName $eei_host -Credential $Cred -ArgumentList $eei_service_name -ScriptBlock {
- param($eei_service_name)
- get-Service $eei_service_name
- }
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |