3

MSDN の記事「サーバー ネットワーク プロトコルを有効または無効にする (SQL Server PowerShell) 」を使用しており、次の行で問題が発生しています。

$uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"

私が得るエラーメッセージは次のとおりです。

Exception calling "GetSmoObject" with "1" argument(s): "Attempt to retrieve data for object failed for ManagedComputer '<computer_name>'."
At line:1 char:24
+ $Np = $wmi.GetSmoObject <<<< ($uri)
    + CategoryInfo           : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId  : DotNetMethodException

私は<computer_name>自分のコンピュータの名前に置き換えています。また、コマンドを省略しようとし<computer_name>ましたが (スクリプトを実行しているマシンを構成しようとしています)、同じエラーが表示<computer_name>され、エラーに正しいことが示されています。また、最初からすべてを省略しようとしましたが/、うまくいきませんでした。

cmdpowershell、およびを使用してみsqlpsました。私は管理者としてログインしており、すべてのウィンドウの上部に管理者と表示されているため、管理者としてコマンドを実行していることを意味します。

MS Sql Server 2012 がインストールされた Windows Server 2012 を実行しています。

私の長期的な目標は、ユーザーの操作を必要とせずに新しいマシンに SQL Server をセットアップするためのユーティリティを作成することです。

MSDN 記事のコード行の問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

powershell スクリプトの先頭に次の行を含めました。

Import-Module "sqlps" -DisableNamechecking

を明示的に入れることに戻り<computer_name>、今では動作します。

インポートモジュールを実行していないためにエラーが発生していたと思いますが、インポートするまでに、コンピューター名を空白のままにし始め、XPath エラーが発生し始めました。

于 2013-10-23T20:38:01.153 に答える