ログインにユーザー名とパスワードが必要なリモートコンピューターのサービスステータスを取得する方法
次のコードを使用して解決策を見つけようとしています:
$serviceStatus = get-service -ComputerName $machineName -Name $service
get-service
コマンドのデフォルトの構文は次のとおりです。
Parameter Set: Default
Get-Service [[-Name] <String[]> ] [-ComputerName <String[]> ] [-DependentServices] [-Exclude <String[]> ] [-Include <String[]> ] [-RequiredServices] [ <CommonParameters>]
Parameter Set: DisplayName
Get-Service -DisplayName <String[]> [-ComputerName <String[]> ] [-DependentServices] [-Exclude <String[]> ] [-Include <String[]> ] [-RequiredServices] [ <CommonParameters>]
Parameter Set: InputObject
Get-Service [-ComputerName <String[]> ] [-DependentServices] [-Exclude <String[]> ] [-Include <String[]> ] [-InputObject <ServiceController[]> ] [-RequiredServices] [ <CommonParameters>]
これには、ユーザー名とパスワードのオプションはありません。
私の知る限り、Get-Service 資格情報パラメーターを受け入れません 。ただし、 [〜#〜] wmi [〜#〜] を使用して実行できます。
$cred = get-Credential -credential <your domain user here>
Get-WMIObject Win32_Service -computer $computer -credential $cred
コメント後に更新:
資格情報をセキュアストリングとしてファイルに保存し、それを再ロードして、プロンプトなしで資格情報を手動で作成できます。情報を見る ここ 。
これも機能します:
Net Use \\server\c$ $password /USER:$username
$service = Get-Service $serviceName -ComputerName $server
パスワードは安全な文字列であってはならないことに注意してください。