Sql server PowerShell未从SQL server执行脚本

Sql server PowerShell未从SQL server执行脚本,sql-server,powershell,Sql Server,Powershell,我有一个powershell脚本,需要按计划从SQL server执行。我认为这无关紧要,但如果有,脚本将发送命令刷新powerbi.com数据集。我可以在本地和我的一台服务器上成功地运行它,但是当我在另一台服务器上尝试时,我得到下面的错误 为了澄清,powershell版本与执行策略匹配。我在这里列出了: PS版本5.1.14409.1005 执行策略 Scope ExecutionPolicy Machine Policy Undefined Us

我有一个powershell脚本,需要按计划从SQL server执行。我认为这无关紧要,但如果有,脚本将发送命令刷新powerbi.com数据集。我可以在本地和我的一台服务器上成功地运行它,但是当我在另一台服务器上尝试时,我得到下面的错误

为了澄清,powershell版本与执行策略匹配。我在这里列出了:

PS版本5.1.14409.1005

执行策略

Scope                ExecutionPolicy

Machine Policy       Undefined
User Policy          Undefined
Process              Undefined
CurrentUser          Undefined
LocalMachine         RemoteSigned
我在其中一台服务器上遇到的错误如下:

Connect-PowerBIServiceAccount : Failed to populate environments in settings
At
DatasetRefresh_NoParam_Simple.ps1:9
char:1
+ Connect-PowerBIServiceAccount -Credential $myCred
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (Microsoft.Power...IServiceAccount:ConnectPowerBIServiceAccount) [Connect-Po
   werBIServiceAccount], Exception
    + FullyQualifiedErrorId : Failed to populate environments in settings,Microsoft.PowerBI.Commands.Profile.ConnectPo
   werBIServiceAccount

Invoke-PowerBIRestMethod : Login first with Login-PowerBIServiceAccount
At
DatasetRefresh_NoParam_Simple.ps1:19
char:1
+ Invoke-PowerBIRestMethod -Url $RefreshDSURL -Method Post -Body $MailF ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-PowerBIRestMethod], Exception
    + FullyQualifiedErrorId : System.Exception,Microsoft.PowerBI.Commands.Profile.InvokePowerBIRestMethod
我觉得我缺少一个服务器设置,但我使用管理员凭据登录,并以管理员身份运行powershell。任何帮助都将不胜感激


编辑

我试图运行另一个脚本来显示我遇到的另一个错误

\\BlahServerName\WorkSpace\PowerBI\BDW_Resources\Admin\DatasetRefresh_PS\DatasetRefresh_Param_onlyDataset.ps1 : File
\\BlahServerName\WorkSpace\PowerBI\BDW_Resources\Admin\DatasetRefresh_PS\DatasetRefresh_Param_onlyDataset.ps1 cannot be
loaded. The file
\\BlahServerName\WorkSpace\PowerBI\BDW_Resources\Admin\DatasetRefresh_PS\DatasetRefresh_Param_onlyDataset.ps1 is not
digitally signed. You cannot run this script on the current system. For more information about running scripts and
setting execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ \\BlahServerName\WorkSpace\PowerBI\BDW_Resources\Admin\DatasetRefresh_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

这也是我看到的一个,它让我看了看执行策略,但是如果我的两个服务器都有相同的策略设置,为什么我能够在一个服务器上执行而不能在另一个服务器上执行呢?(同样,我是以管理员权限以自己的身份登录的)

如果您是从SQL Server执行它-我假设您使用的是SQL代理


请注意SQL Server Agent在中执行的上下文-您是否使用定义的凭据创建了SQL Agent代理以确保上下文?

如果您是从SQL Server执行它-我假设您正在使用SQL Agent


请注意SQL Server代理在其中执行的上下文-您是否使用定义的凭据创建了SQL代理以确保上下文?

您没有显示任何代码。PowerShell有32位和64位两种版本,每种版本都有自己的模块和设置集合。您是否使用了正确的PowerShell环境?@DougMaurer,我没有显示任何代码,因为我不确定它是否与我的问题相关。从PowerShell调用PowerBI数据集刷新有很好的文档记录,我的文档中不包含任何额外内容。作为参考,您可以查看我的大部分代码。您没有显示任何代码。PowerShell有32位和64位两种版本,每种版本都有自己的模块和设置集合。您是否使用了正确的PowerShell环境?@DougMaurer,我没有显示任何代码,因为我不确定它是否与我的问题相关。从PowerShell调用PowerBI数据集刷新有很好的文档记录,我的文档中不包含任何额外内容。作为参考,你可以看看我的大部分是什么样子的。我感谢你的评论。在这个测试中,我以自己的身份登录到服务器,并试图直接从PowerShell运行。在我把这个应用到工作中之前,我还不需要SQL代理。谢谢你的评论。在这个测试中,我以自己的身份登录到服务器,并试图直接从PowerShell运行。我还不需要SQL代理,直到我把它放到工作中。