Amazon ec2 如何通过运行Windows Server 2012的EC2主机提供作为系统共享目录网络访问的服务?

Amazon ec2 如何通过运行Windows Server 2012的EC2主机提供作为系统共享目录网络访问的服务?,amazon-ec2,continuous-integration,teamcity,windows-server-2012-r2,windows-networking,Amazon Ec2,Continuous Integration,Teamcity,Windows Server 2012 R2,Windows Networking,情况如下: Settings { .Workers = { 'hostname1' // specify hostname 'hostname2' '192.168.0.10' // or ip } ... // the other stuff that goes here 我已将TeamCity设置为使用运行Windows Server 2012 R2的AWS EC2主机作为构建代理。在此配置中,Tea

情况如下:

Settings
{
    .Workers =
    {
        'hostname1'     // specify hostname
        'hostname2'
        '192.168.0.10' // or ip
    }

    ... // the other stuff that goes here
我已将TeamCity设置为使用运行Windows Server 2012 R2的AWS EC2主机作为构建代理。在此配置中,TeamCity代理服务作为系统运行。我正在尝试将FastBuild作为新的编译过程来实现。为了使用FastBuild的分布式编译功能,生成代理主机需要访问共享网络文件夹。不幸的是,我似乎无法提供从一台机器到另一台机器的这种访问

为了进一步解释,我将使用命名的示例。网络文件夹C:\Shared folder位于名为Central host的主机上。生成代理位于生成器主机上。所有内容都在EC2主机上运行Windows Server 2012 R2,这些主机通过AWS安全组彼此完全允许网络访问。我需要的是从中央主机共享一个目录,以便构建器主机可以通过如下目录结构完全访问它:

\\Central-Host\Shared-Folder
通过使用默认管理员帐户对两台主机进行RDPing,我可以非常轻松地设置网络共享,并(在构建器主机上)浏览到\\Central Host\Shared文件夹位置。我还可以打开命令行并运行:

type NUL > \\Central-Host\Shared-Folder\Empty.txt
在该网络位置创建空文本文件的结果

问题来自系统帐户。当我抓取PSTOOLS并使用命令时:

PSEXEC -i -s cmd.exe
我可以测试TeamCity发出的命令。同样,这是一个作为系统运行的服务,我需要强调,由于在用户帐户类型下使用TeamCity代理时遇到的其他问题,无法将其更改为普通用户


经过多次搜索,我发现了如何设置Active Directory服务,以便可以从域中添加用户和计算机,但在这样做之后,我仍然面临拒绝访问错误。我可能错过了一些重要的事情,我希望这里有人能帮助我。我相信,当我能够成功运行上面显示的“type NUL”命令时,这个问题将被视为“已解决”。

这不是权限问题的答案,而是避免它的一种方法。(本想添加此评论,但StackOverflow不让我评论-奇怪。)

共享网络驱动器仅用于远程工作者发现。如果您有固定的工作程序列表,而不是使用工作程序发现,则可以在配置文件中显式指定它们,如下所示:

Settings
{
    .Workers =
    {
        'hostname1'     // specify hostname
        'hostname2'
        '192.168.0.10' // or ip
    }

    ... // the other stuff that goes here

此功能没有文档记录,因为到目前为止,所有用户都希望自动工作人员发现。但是,可以使用它,如果它确实有用,只需更新文档即可将其提升为受支持的功能。

您是否尝试过授予\\Central Host\Shared文件夹共享的“匿名登录”或“所有人”权限?@SteveChapman I,它仍然提供访问被拒绝的错误。Workers已添加到文档中,并将在下一版本(v0.87)中被视为官方支持的功能