gpt4 book ai didi

c# - 在远程服务器上运行脚本文件

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:13 25 4
gpt4 key购买 nike

我的任务是使内部流程自动化。此过程涉及首先登录到远程服务器 (A)。用户将从服务器 A 连接到远程服务器 (B)。

一旦通过服务器 B 的身份验证,用户需要执行三个主要任务:

  1. 更改本地目录中的文件名。
  2. 打开命令提示符并执行“iisreset”
  3. 打开 Internet Explorer 以确保重新建立与 IIS 的连接。

我在 CodeProject 上的帖子中使用了一些示例代码建立所有远程桌面连接,它工作正常。代码使用 ActiveX MSTSC Library .

我的问题在于上述步骤。连接到服务器 B 后,我如何务实地执行这些操作。现在,我们确实有一个执行这些步骤的内部脚本。要执行脚本,用户必须登录到服务器 B 并手动运行脚本。

如果可以建立连接并实际执行脚本,这将是一个解决方案。如果出于某种原因这是不可能的,我将需要务实地执行这三个步骤作为解决方案。

谢谢你的帮助。

最佳答案

您可以使用 Powershell New-PSSession .

摘自微软网站:

The New-PSSession cmdlet creates a Windows PowerShell session (PSSession) on a local or remote computer. When you create a PSSession, Windows PowerShell establishes a persistent connection to the remote computer.

将以下内容保存到 PS1 文件中:

Write-Output "Please supply your credential for <insert server name>"
$cred = Get-Credential -Message "Enter credential for <insert server name>"

Try
{
$s1 = new-pssession -computername <fully qualified domain name (FQDN)> q -credential $cred -Authentication Credssp
}
Catch [system.exception]
{
"Your account doesn't have access to <insert server name>"
"Not sure what permission are really require on the server"
"When I have a chance, need to test with the other developers"
}

# If you wanted to set a path you could do this
$env:Path = $env:Path + ";C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE"

# Create the command we want to execute on the remote server
# This block can contain anything you do at command prompt
$block = {
dir
cd "\Foo"
.\Bar.bat
}

if ($s1)
{
Invoke-Command $block -session $s1
remove-pssession $s1
}

Start-Sleep 5

一旦有了脚本,您就可以按照 PowerShell Class 中的示例为您的 C# 应用程序建模。 .

关于c# - 在远程服务器上运行脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com