Answers:
要回答此问题,您需要放大到更大的图片,并询问管理Windows和SQL Server意味着什么。例如,您的环境中还有多少其他这些东西:
所有这些东西都有自己的管理机制,并且由于PowerShell仍相对较新,因此并非所有服务都支持PowerShell。目前,您可能需要跳出PowerShell才能管理类似的事情。
另一方面,也没有其他语言可以在所有这些Windows工具中更好地工作。
当您说“管理服务器的功能”时,还不是Windows语言。在* nix世界中,您可以留在脚本环境中,但是Windows世界还不存在。
您第一个问题的答案是响亮的“是”。
为了管理现有的Windows域,“原始” PowerShell(无其他管理单元)为WMI,ADSI,COM和.NET提供了即开即用的支持。
通过WMI(或COM / .NET,取决于用例)来管理远程计算机。
管理SQL Server可以使用SMO库(有关想法,请参阅SQL Server PowerShell扩展)。您可以通过ADO.NET访问数据。
要回答问题的第二部分,关于什么是好的第三方插件,实际上取决于您需要做什么。正如John Cook所提到的那样,PowerShell社区扩展是一个很好的常规添加。还有很多很多。PowerShellCommunity.Org有很多第三方产品的出色参考,而Codeplex有大量的开源PowerShell项目。
更多的Microsoft产品正在添加PowerShell支持(例如SQL Server 2008,Exchange,Active Directory等。)
V2(即将发布)包含一些出色的远程处理和后台作业功能。
总有Perl。:)有关SQL Server DBA的信息,请参阅Linchi Shea的书。