1

简短摘要 - 即使 Teamcity 代理设置为在我的凭据下运行,并且看起来它仍然表现得好像使用特权较低的帐户一样。

构建代理服务设置为使用我的凭据运行,我可以在服务小程序中看到它。

该构建有一个简单的 powershell 脚本,它使用 IE COM 对象在 IE 中加载页面。

$IE=new-object -com internetexplorer.application 
$IE.visible=$true 
$IE.navigate2("https://myurl.com/location")

我还有一个单独的命令脚本,将网络驱动器映射到 webDAV 位置。

NET USE Y:  https://myurl.com/location

这两个都从命令行运行良好。

我已通过运行确认脚本正在我的帐户下执行

echo $([Environment]::UserName)

在 powershell 中并使用

我是谁

驱动器映射脚本的命令。

对于 powershell,我得到了错误

new-object : Retrieving the COM class factory for component with CLSID 
{0002DF01-0000-0000-C000-000000000046} failed due to the following error:
 80080005 Server execution failed (Exception from HRESULT: 0x80080005
 (CO_E_SERVER_EXEC_FAILURE)).
 At line:1 char:5
 $IE=new-object -com internetexplorer.application
 CategoryInfo          : ResourceUnavailable: (:) [New-Object], COMException
 FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand

对于我得到的驱动器映射脚本

  "The system cannot find the drive specified."

注意我还尝试将 NET USE 作为脚本的一部分运行,以查看映射了哪些驱动器并且它没有显示驱动器,即使我在运行脚本之前手动映射它也是如此。

4

1 回答 1

1

我自己可能只是偶然发现了答案。

似乎作为 Windows 服务运行对权限有影响。

https://confluence.jetbrains.com/display/TCD8/Known+Issues#KnownIssues-Windowsservicelimitations

解决方案是在服务控制台之外手动启动代理。

于 2015-10-06T14:06:00.723 回答