0
CredSSPが有効な場合、リモートマシンのリストをチェックしようとしています。スクリプトがマシンに接続し、コマンドを実行するとき。それは偽を返すことに終わります。 RDP経由で同じマシンに接続して同じコマンドを実行すると、trueを返します。ここにスクリプトがあります:CredSSPがPowershellでリモートで有効になっていることを確認してください
foreach ($server in $servers.Split(",").Trim()) {
$pw = ConvertTo-SecureString 'password' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentList "Domain\user", $pw
$session = New-PSSession -ComputerName $server -Credential $cred
$output = (Get-Item WSMan:\localhost\Service\Auth\CredSSP).value
Write-Host $server : $output
Remove-PSSession -Session $session
}
これについての洞察はありますか?
ありがとう、これは参考になりました。私はまだPSにはかなり新しいです。だから私が間違っている場合は私を修正するが、これらのセッションコールでGet-Itemをラップすることによって、本質的に何もしていないのですか?ローカルで実行していただけですか?セッションで同じことを達成する方法はありますか?私はこのスクリプトを拡張するかもしれないし、それははるかに大きくなります。 – Anthony
@Anthonyはい、それは正確です。それはローカルで実行されていました。 Invoke-Commandでセッションを使用できますが、これは通常、複数の異なるスクリプトブロックを実行する必要があるか、セッション状態をリモートで維持する必要がある、より複雑な状況に適しています。私はそれが長い間それを必要としている何かを書いたとは思わない。しかし、それは動作します。 –