远程执行脚本

 1 #######################################定义变量#########################################################
 2 $CurrentPath = $MyInvocation.MyCommand.Path.substring(0,$MyInvocation.MyCommand.Path.LastIndexOf(‘\‘)+1)
 3 #定义服务器列表
 4 $server_list = "server_list.txt"
 5 $server_list_path = Join-Path $CurrentPath $server_list
 6 #定义任务计划输出结果保存文件
 7 $task_resultfile = "Task_Result.txt"
 8 $task_resultfile_path = Join-Path $CurrentPath $task_resultfile
 9 #定义需要执行的脚本名称
10 $scriptName = "DNSConfig.ps1"
11 $scriptPath = Join-Path $CurrentPath $scriptName
12 #定义使用到的用户名和密码
13 $UserName = "administrator"
14
15
16 #######脚本开始###############################################
17 #删除已有的IPC会话连接
18 $Null = NET USE * /del /y
19 $servers = gc $server_list_path
20 foreach ($server in $servers)
21     {
22      If ( Test-Connection $server  -Count 1 -Quiet )
23         {
24          Write-Host $server -ForegroundColor green
25          #获取远程计算机的密码
26
27          $UserPass = $serverpass
28          $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force
29          $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)
30          cmd /c  "NET USE \\$Server $UserPass /user:$UserName >nul 2>nul"
31          If ($Lastexitcode -eq 0)
32             {
33              #远程执行脚本
34              $Tresult =  invoke-command -ComputerName $server -Credential $cred -FilePath $scriptPath
35
36             }
37          Else
38             {
39              Write-Host "$server 连接失败"  -ForegroundColor Red
40              $server + "连接失败" |Out-File $task_resultfile_path -Append
41             }
42
43         }
44      Else
45         {
46          Write-Host "无法Ping通"  -ForegroundColor Red
47          $server + "无法Ping通" |Out-File $task_resultfile_path -Append
48         }
49     }
50
51
52
53 $Null = NET USE * /del /y
时间: 2025-01-17 04:39:25

远程执行脚本的相关文章

ssh非交互式密码授权远程执行脚本

公司有上百台服务器,需要为每台服务器都执行一个脚本,因为所有服务器的账号密码都是一样的,所以可以不用搭建ansible等自动化运维工具,我们直接通过ssh远程执行即可完成 本文以三台服务器为例,系统版本:Centos7.3 1.安装sshpass cd /etc/yum.repos.d/ wgethttp://download.opensuse.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repo yum instal

SSH 无密码远程执行脚本

ssh无密码登录及远程执行脚本要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS7为例. 测试环境:机器A(10.0.224.80):机器B(192.168.7.172).现想A通过ssh免密码在B上远程执行命令. 1.首先在A机下生成公钥/私钥对:(-P表示密码,-P '' 就表示空密码,一次回车即可.在~/.ssh会生成id_rsa和id_rsa.pub两个文件) [[email protected] home]# ssh-keygen -t r

SSH远程执行脚本tomcat未启动

背景: 在本地写好重启tomcat的脚本后,本地执行脚本没有问题,但在远程服务器上SSH免密登录执行后. 发现可以把TOMCAT杀死,但tomcat却起不来.这个问题困扰了我一天.终于解决了,决定写篇博文 与大家分享. 把我遇到的怪异现象分享给大家: 1 脚本执行了吗?sh -x 查看脚本执行过程,确实执行了啊,也没有报错.但到目标服务器去看没有java 进程也没有相应的端口.邪门了,到底是什么原因呢? 2 看日志.在远程执行脚本的时候就把日志打开了,tail -f 发现没有一丁点的日志输出.

saltstack在windows客户端远程执行脚本提示路径不对的问题

saltstack在windows客户端远程执行脚本提示路径不对的问题 环境: salt-master ==2018.3.0 salt-minion ==2018.3.0 python== 2.7.5 centos==7 问题描述: salt有个远程执行命令的模块cmd.script,在使用该模块时,出现错误: salt 'minion-id' cmd.script salt://test.ps1 shell=powershell 其中salt://为/etc/salt.conf定义的base路

shell 脚本远程执行脚本

#!/bin/bash #vim ip.txt server ip ip_array=$(cat /tmp/ip.txt) user="root" passwd="password" remote_cmd="/tmp/test.sh" port=6122 for ip in ${ip_array[*]} do ssh -t -p $port [email protected]$ip $remote_cmd done

Linux下使用SSH非交互式远程执行命令脚本---ssh无密码登陆

通过SSH命令远程执行命令首先需要建立相关主机间的信任关系.否则,在执行命令前SSH命令会提示你输入远程主机的密码.建立主机间信任关系的方法如下-即ssh无密码输入: 假设我们有两台主机.主机名分别为linuxa和linuxb.首先在linuxa上以当前用户运行如下命令生成本主机的公钥和私钥文件: ssh-keygen -t rsa     上述命令执行后,隐藏目录~/.ssh下会出现两个文件:id_rsa和id_rsa.pub.其中,id_rsa.pub为公钥文件. 将该文件的内容追加到对端主

SSH 远程执行任务

SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结. 远程执行命令 如果我们要查看一下某台主机的磁盘使用情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直接把结果显示出来.整个过程就像是在本地执行了一条命令一样: $ ssh [email prote

ssh连接远程主机执行脚本的环境变量问题

用ssh命令ssh [email protected] "/web/tomcat-7000/bin/startup.sh" 登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题:tomcat服务不能启动 Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these environment variable is needed to run this progr

记一次被劫持挂马经历--Elasticsearch的远程执行漏洞

起因: 公司使用的是Ucloud的云主机服务,今天上午突然被告知有一台服务器的出口流量激增,对外发包量短时间内达到了100万,而且都是UDP类型的,第一感觉就是:诶呀,莫不是被黑了,被当肉鸡了呀! 探究: 立马登录对应的服务器,首先使用iftop查看流量状况 可以看出出口流量好吓人,1分钟内累计700M流量,查了一下这2个IP地址,一个是在美国,一个是在浙江电信: 赶紧查看正在运行的进程,找出疑似进程,还真有所发现: [.ECC6DFE919A382]这个进程还想冒充系统进程,疑点极大,而且/t