目的のコード:サーバーの特定のオブジェクトプロパティを抽出します。私は、次のコードでこれらのサーバのリストを取得します。new-object:PowerShellスクリプトの "Server"と引数count: "* numberofservers *"のオーバーロードが見つかりません
$serverlist = (get-adcomputer -filter {dnshostname -like "*SQL*" -and operatingsystem -like "windows *server*"}).name
私は、その後にリスト内のそれぞれの名前を反復処理:
$serverlist | ForEach-Object {
$s = new-object Microsoft.SqlServer.Management.SMO.Server($serverlist)
$s | Format-List @{Name = "Server";e={$s.Name}},
@{Name = "VersionString";e={$s.VersionString}},
@{Name = "Product Level";e={$s.ProductLevel}},
@{Name = "Collation";e={$s.Collation}},
@{Name = "Credentials";e={$s.Credentials}},
@{Name = "Clustered?";e={$s.IsClustered}},
@{Name = "One Owner?";e={$s.IsSingleUser}},
@{Name = "Root";e={$s.RootDirectory}} | Out-File -path -append
Iとして「サーバ」のための新しいオブジェクトのオーバーロードのエラーが表示されますサーバーがあるので何度も。私はこの問題を引き起こす原因が本当にわからない。コードは、$ serverlistのために1つのコンピュータ名をハードコードしたときに問題なく動作しました。 I.
$serverlist = @("Some-Server-01")
入力の際にサーバーのリストを使用すると、このエラーが発生しました。ヘルプをいただければ幸いです。
さらにエラー情報:
At C:\somepath
+ $s = new-object Microsoft.SqlServer.Management.SMO.Server($serverli ...
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
あなたは '' $ _' – BenH