【问题标题】:How can I execute commands on a remote computer?如何在远程计算机上执行命令?
【发布时间】:2011-11-23 09:29:42
【问题描述】:

我有一台可以使用Remote Desktop Connection 应用程序连接的机器,它位于不同的域中。这台机器有一个 SQL Server,只有在我登录这台机器后尝试访问它时才能访问它。

是否有可能(通过 C# 或 Powershell 或其他机制)启动类似于 ssh 的连接到这台机器,执行 sqlcmd 命令并复制回数据?

【问题讨论】:

  • 您是否必须定期执行此操作?我在想也许可以反过来做:让一个任务在另一个盒子上运行,执行 sql 命令并向你发送数据......取决于数据有多大,你可以在你的末端做一些事情吗?
  • 试试这篇文章maxtblog.com/2011/09/…
  • @Icarus:谢谢。数据可能会变得非常大,所以我通常会将我的sqlcmd 导入 gzip,压缩数据并将其传输到我的本地计算机。此外,我是按需执行此操作,因此查询不是定期查询,而是一次性查询。
  • 只能从RDP访问是什么原因?了解这一点将有助于更好地制定解决方案。如果没有,您应该可以使用msdn.microsoft.com/en-us/library/system.data.sqlclient.aspx 进行连接
  • 您是远程计算机上的管理员,还是刚刚获得远程桌面权限?另外,你知道你和远程机器之间是否有任何网络限制(即只打开 RDP 端口的防火墙......)?

标签: c# sql-server windows powershell remote-desktop


【解决方案1】:

试试psexec

它允许您在远程机器上运行命令提示符

【讨论】:

  • 失败并显示相同的 Access is denied 消息。不过,我这边一定有问题。工具+1。谢谢。
【解决方案2】:

你的问题很开放 - PowerShell V2 确实允许你远程连接(需要一些配置,Ravi 在这里写了一个很棒的指南 -http://www.ravichaganti.com/blog/?cat=240

这将为您提供有关配置 PS Remoting 的命令的概述。

help Enable-PSRemoting

根据您的设置,您可能只需要运行它。

但是您的问题听起来与您的 SQL 设置不太正确(或者,如果它是设计使然,但为什么呢?)。

这台机器有一个只能在我尝试时访问的 SQL Server 登录本机后访问。

您是否有无法直接启动与服务器的 SQL 连接的原因?

【讨论】:

  • +1 谢谢。是的。我猜这些域互不信任。我不完全确定 Windows 权限模型,但管理员已经做到了,我的 SQL 服务器的域名只有在登录到这台远程机器后才能访问。
  • 所以你登录到这个远程服务器(也许是VPN?)然后你可以从远程机器访问SQL服务器?
  • 是的,我登录了,但不是 VPN。 Windows 中的 Vanilla 远程桌面连接。
猜你喜欢
  • 2018-01-14
  • 2012-03-21
  • 1970-01-01
  • 2015-09-15
  • 2012-02-25
  • 2012-07-27
  • 2015-04-26
  • 2012-07-02
  • 2012-04-06
相关资源
最近更新 更多