我正在向我们的 C# (.NET 4.5) 站点添加一个页面,该页面将处理 Office 365 帐户配置。我从 Microsoft 找到了一个有用的实用程序,它是一个通过 PowerShell 调用管理 Office 365 用户的 Windows 应用程序。此应用程序在我的 Windows 7 机器上运行良好,并允许我配置/编辑用户帐户。ExcutePowershellCommands()
当我从该工具中采用完全相同的方法并将其放入我的 Web 应用程序时,它不起作用,说我尝试的任何 Office 365 cmdlet 都无法识别。根据该工具的说明,这是因为用户帐户没有运行 Windows PowerShell 的权限,这是有道理的,因为 IIS 将在与运行本机 Windows 应用程序不同的用户帐户下运行代码。
如果我ExcutePowershellCommands()
在我的代码中加上一个using()
模拟本地管理员的块,则该函数可以在我的 Web 应用程序中使用。但是,如果我创建一个调用此ExcutePowershellCommands()
函数的单元测试并运行该测试,我只会收到无法识别 Office 365 cmdlet 的错误(即使我仍然将该函数封装在一个using()
模拟管理员的块中)。有没有办法找出单元测试在哪个帐户下运行(使用 TestDriven.Net)?如果我进行模拟,为什么单元测试在哪个帐户下运行甚至重要?
谢谢!