Powershell 如何确保远程计算机重新启动并发出命令?
我有一个PS脚本,它使用Powershell 如何确保远程计算机重新启动并发出命令?,powershell,object,methods,output,Powershell,Object,Methods,Output,我有一个PS脚本,它使用调用命令和重新启动计算机。我想有一个结果,并保存到文件。我认为这些cmdlet是类似于Get Childitem的对象,在可能的情况下选择.Name等成员并保存。那么它们是什么呢?a方法?如果是,那么从哪些对象?最后,我将如何知道主机(例如,192.168.1.1正在重新启动,并且通过调用命令发送命令 foreach ($line in $FTPServer) { Start-Transcript -Path $results
调用命令
和重新启动计算机
。我想有一个结果,并保存到文件。我认为这些cmdlet是类似于Get Childitem
的对象,在可能的情况下选择.Name
等成员并保存。那么它们是什么呢?a方法?如果是,那么从哪些对象?最后,我将如何知道主机(例如,192.168.1.1
正在重新启动,并且通过调用命令发送命令
foreach ($line in $FTPServer)
{
Start-Transcript -Path $results
Write-Host -Object "ftp url: $line"
If (Test-Connection $line -Count 1)
{
Set-FTPConnection -Credentials $FTPCredential -Server $line -Session MySession -UsePassive -ErrorAction SilentlyContinue
$Session = Get-FTPConnection -Session MySession
if($session.UsePassive -eq "True"){$connect="OK"}
else{$connect="!!!-FAIL-!!!"}
foreach ($item in (Get-ChildItem .\Upload))
{
Write-Host -Object "Uploading $item..."
$Send= Add-FTPItem -Session $Session -Path $FTPPlace -LocalPath .\Upload\$item -Overwrite -ErrorAction SilentlyContinue
$send >> .\RawData\sent.txt
if($Send.Name -eq $item.Name){$Rec="OK"}
else{$Rec="!!!-FAIL-!!!"}
$failTable += @{"FTPServer"=$line;"File"=$item;"Connected"=$connect;"Uploaded"=$Rec}
$FailTable.foreach{[PSCustomObject]$_} | Select-Object "FTPServer", "File","Connected", "Uploaded" | Out-file .\stats.txt
}
Enable-PSRemoting -Force
Set-Item wsman:\localhost\client\trustedhosts -Value * -Force
Restart-Service WinRm
Test-WSMan $line
Invoke-Command -ComputerName $line -scriptblock {cmd.exe /c "ewfmgr d: -commit"} -credential $FTPCredential
Start-Transcript -Path $restarts
Restart-Computer -ComputerName $line -Force -ThrottleLimit 50 -Credential $FTPCredential|Out-File restart.txt -Width 100
Stop-Transcript
} Else {"$line">> .\DownServers.txt}
Stop-Transcript
}
我想用重新启动计算机
和调用命令
做同样的事情,就像我用获取FTPConnection
和添加FTPItem
现在我的\stats.txt
看起来是这样的
FTPServer File Connected Uploaded
--------- ---- --------- --------
192.168.1.1 ConfigurationKrKers.xml OK OK
192.168.1.1 test.txt OK OK
我希望有这样的内容:
FTPServer File Connected Uploaded RunCMD Restarted
--------- ---- --------- -------- ------ ---------
192.168.1.1 ConfigurationKrKers.xml OK OK OK OK
192.168.1.1 test.txt OK OK OK OK
请显示您的代码(准确地说是a)和所需输出的示例。当我们得到的只是这样一个模糊的描述时,我们无法帮助您。听起来您可以从附加的代码和所需的输出中获益。您可以在远程脚本中将数据放入Windows日志,使用后从远程计算机获取事件日志。当然,您可以延迟读取远程日志。写以登录远程脚本请显示您的代码(准确地说是a)和所需输出的示例。当我们得到的只是这样一个模糊的描述时,我们无法帮助您。听起来您可以从附加的代码和所需的输出中获益。您可以在远程脚本中将数据放入Windows日志,使用后从远程计算机获取事件日志。当然,您可以延迟读取远程日志。写入以登录远程脚本