使用Azure Connect,我可以从工作人员角色访问内部部署文件共享和打印机吗?

时间:2013-01-18 03:41:02

标签: azure azure-connect

我正在尝试使用Azure Connect。我希望能够从一个辅助角色将一些文件推送到一个内部部署服务器。我还想打印一些网络打印机进行一些批处理作业。根据我的阅读,我认为应该是可能的。我一直在关注this tutuorial的基础知识,但是会喜欢指向这两个用例特定的任何教程或帖子的指针。

如果有人知道Azure Connect是否以及何时不在预览/ CTP并且公开可用,我也很好奇。

由于

更新 这是我用作POC的代码,用于生成虚拟文件并将其从MVC Web角色复制到我的内部部署。我得到了一个错误的路径错误(错误:System.IO.IOException:未找到网络路径。)我通过不使用我的本地框的完全限定名称修复,但短名称而不是添加描述in this post的防火墙规则。

public class TestController : Controller
{
    public ActionResult SaveFile()
    {
        return View();
    }

    [DllImport("advapi32.dll", SetLastError = true)]
    public static extern bool LogonUser(
        string lpszUsername,
        string lpszDomain,
        string lpszPassword,
        int dwLogonType,
        int dwLogonProvider,
        out IntPtr phToken
        );

    [HttpPost]
    public ActionResult SaveFile(FormCollection collection)
    {
        try
        {
            string nowString = DateTime.UtcNow.ToString("yyyyMMdd HHmmss");

            string path = @"\\fullyqualifiedservername\e$\FileShare\";
            path = Path.Combine(path, string.Format("{0}.txt", nowString));

            IntPtr userHandle = IntPtr.Zero;
            bool loggedOn = LogonUser("myusername", "mydomain", "mypassword", 9, 0, out userHandle);

            if (loggedOn)
            {
                WindowsImpersonationContext context = WindowsIdentity.Impersonate(userHandle);
                System.IO.FileInfo f = new FileInfo(path);
                using (FileStream fs = f.OpenWrite())
                {
                    byte[] b = System.Text.Encoding.Unicode.GetBytes(string.Format("Fake content written at {0}", nowString));
                    fs.Write(b, 0, b.Length);
                }
                context.Undo();

            }

            return RedirectToAction("SaveFile");
        }
        catch(Exception ex)
        {
            ViewBag.Error = ex.ToString();
            return View();
        }
    }

}

1 个答案:

答案 0 :(得分:2)

Windows Azure Connect适合您的情况。然而,它已经预览了很长一段时间(如果我没记错的话,接近2年)。没有人可以告诉您是否/何时它将成为GA(一般可用性)。

您当然可以尝试和构建PoC(概念验证)。它相当容易使用。你真的不需要你所引用的文章。目前在Windows Azure Connect中没有更多内容。

但我不会将它用于制作,因为它是预览版,并且没有SLA,服务可能会在任何给定的时间点停止。

Windows Azure虚拟网络是另一种具有更加美好未来的替代方案。但是,它需要一个支持IPSEC协议的真实硬件路由器/防火墙设备。支持最便宜的设备是CISCO ASA 5505.此外,您还需要提供(在我们这边管理)全功能DNS服务器。您可以从以下文章中了解有关Windows Azure VN的更多信息:Create a Virtual NetworkCreate Virtual Network for Cross Premises Connectivity