我正在为我们的C#(.NET 4.5)网站添加一个页面,以处理Office 365帐户配置。我发现Microsoft提供了一个有用的工具,它是一个通过PowerShell调用管理Office 365用户的Windows应用程序。这个应用在我的Windows 7机器上运行良好,允许我进行帐户配置和编辑。当我将来自该工具的
ExcutePowershellCommands()
方法复制到我的Web应用中时,它不起作用,并显示任何我尝试使用的Office 365 cmdlet都无法识别。根据该工具的说明,这是由于用户帐户没有权限运行Windows PowerShell造成的,在IIS下运行代码的用户帐户与运行本机Windows应用程序的用户帐户不同。
如果我在我的代码中使用一个using()
块,模拟一个本地管理员,那么函数在我的Web应用程序中就可以正常使用。但是,如果我创建一个调用此ExcutePowershellCommands()
函数的单元测试并运行测试,我只会收到错误,说Office 365 cmdlet无法识别(即使我仍然将该函数包装在模拟管理员的using()
块中)。有没有办法找出单元测试正在哪个帐户下运行(TestDriven.Net)?如果我进行模拟操作,那么单元测试运行在哪个帐户下甚至都不重要吧?
谢谢!
$profile
时,路径列表中没有文件。 - kd7iwp