问题标签 [dbatools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
52 浏览

powershell - 如何将变量传递给满足 ValidateSet 的函数?

我正在调用 dbatoolsInstall-DbaInstance函数,其中一个参数是Feature. 我将变量初始化为“Engine”。如果$bolSSIS -eq $true,我想将“IntegrationServices”添加到变量中。如果$bolSSAS -eq $true,我想将“AnalysisServices”添加到变量中。

下面的代码不完整,但我相信足以解释我正在尝试做的事情:

上面的代码返回错误: Cannot validate argument on parameter 'Feature'. The argument "Engine,IntegrationServices" does not belong to the set "Default,All,Engine,Tools,Replication,FullText,DataQuality,PolyBase,MachineLearning,AnalysisServices,IntegrationServices, {others removed for brevity} " specified by the ValidateSet attribute. Supply an argument that is in the set and then try the command again.

这是我的问题:我该如何设置$InstallFeatures

我尝试过字符串、数组、哈希和其他变量类型。

FWIW,如果$InstallFeatures仅设置为“默认”,则该Install-DbaInstance -Feature $InstallFeatures命令有效且不返回错误。

0 投票
0 回答
68 浏览

sql - DBATools - 从 Export-DBAScript -PATH 中删除时间戳

是否可以在使用时删除时间戳Export-DBAScript -PATH?我只想使用服务器名称和日期。

例如,这是我要导出的内容:

这就是我的输出文件的名称(我不想有时间戳): 带时间戳的文件名

这是可能的,如果是这样,我将如何实现这一目标?

0 投票
1 回答
290 浏览

sql-server - 使用 DBATOOLS 更新 SQL Server 中的表

我有这段代码,它用 Excel 表中的值更新表中的几列。我尝试使用 sqlserver 模块来实现这一点,但我想知道有没有办法使用 DBATOOLS 模块来执行操作?

0 投票
1 回答
247 浏览

sql - 如何使用 PowerShell 从存储过程返回多个记录集

我需要运行一个使用 PowerShell 返回 2 个结果集的存储过程。我使用 dbatools 来做到这一点,但我可以使用 .NET 来实现。我只是不知道怎么做。

对于此示例,我使用exec sp_spaceused它将返回实际数据库中使用的空间。这是 SSMS 中的结果:

结果来自 SSMS 中使用的 sp_space

正如您在此处看到的,有 2 个结果集。现在,当我在 PowerShell 中运行相同的命令时,我不知道如何获得下一个结果集。

这是我想出的代码:

我什至不确定我是否MultipleActiveResultSets以正确的方式使用。我在任何地方都找不到任何好的例子。

0 投票
0 回答
29 浏览

powershell - 使用 Pester 模拟 Backup-DbaDatabase 不起作用

我创建了一个使用 DBATools 模块中的 Backup-DBADatabase 的 Powershell 函数。它有一些额外的逻辑来创建一个框架,供其他人在公司内一致使用。因此,我想使用 Pester 模拟 Backup-DBADatabase 并在函数中测试我的其他逻辑。

我有两个让我困惑的问题。

  1. 当我说“Mock -CommandName Test-Path { $False }”时,我的“Assert-VerifiableMock”仍然通过。如果我正确理解测试,它应该会失败

  2. 在此示例中,Backup-DBADatabase 仍在执行中。

任何帮助,将不胜感激。谢谢,

0 投票
2 回答
68 浏览

sql-server - 根据名称从数组中选择值

我使用以下方法提取了 SQL 实例的一些详细信息:

将这些值分配给数组输出中的变量的最佳方法是什么,如下所示:

计算机名称 名称 值


SQL Edition Enterprise Edition(64 位) SQL PhysicalMemory 1571485
SQL Processors 40
SQL VersionString 11.0.7493.4
SQL Collat​​ion Latin1_General_CI_AS
SQL IsClustered True
SQL ResourceLastUpdateDateTime 24/12/2019 9:58:55 PM
SQL FullyQualifiedNetName PTHSQL13.FMG.local

所以我想从上面分配$ComputerName = ComputerName$Edition = Edition,然后我可以用它来更新 SQL 表$ComputerName

0 投票
1 回答
74 浏览

sql - Powershell dbatools - 使用 CMS 获取服务器名称

论坛....仍然对我的 POS 技能感兴趣。使用 dbatools.. 我正在尝试针对多个 SQL 实例运行一些信息查询。有没有办法从 CMS 派生/使用服务器名称来初始化 $server 变量?我怎么可能完成。我在用着:

有一个包含服务器名称的 -ServerName 参数。我怎么能用它来做到这一点,针对每台服务器(或我愿意接受的任何更好的方式)

提前致谢!!

0 投票
0 回答
234 浏览

powershell - Powershell CredSSP 问题

我正在尝试使用 DBATools 命令 install-DbaInstance 启动 SQL 服务器的远程安装,但是在使用 CredSSP 连接到远程服务器时出现错误。

这是下面的代码,$InstallationSources 是网络共享上的安装媒体列表,此代码从管理服务器运行,WMI 对其开放。

错误输出

我也尝试将其添加到脚本中,但仍然出现相同的错误。

0 投票
1 回答
747 浏览

sql-server - 如何在 Powershell 4 中安装 Powershell 模块?

我在Powershell 4上有一些机器

在此处输入图像描述

在这些机器中,即使我将新的 powershell 模块放在模块路径中,它们也不会显示在 Modules下拉列表中 - 如上所述。

当我在 Powershell 5 上的机器上做同样的事情时,我可以在Modules下拉列表中看到新模块,如下所示。

在此处输入图像描述

为了使新模块显示modules在 Powershell 4 的下拉列表中,我还需要做什么?

0 投票
0 回答
73 浏览

powershell - Powershell - 格式表删除列

我最近一直在使用 Powershell 和 dbatools,并且还在学习。使用格式表时,我看到它从结果中删除了一些列。在将结果写入文本文件时也会这样做。我试过 format-table -autosize 无济于事。

代码:

有任何想法吗?

谢谢