web-dev-qa-db-ja.com

PowerShellを使用してリモートサーバーからサービスステータスを取得する

ログインにユーザー名とパスワードが必要なリモートコンピューターのサービスステータスを取得する方法

次のコードを使用して解決策を見つけようとしています:

$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>]

これには、ユーザー名とパスワードのオプションはありません。

8
debal

私の知る限り、Get-Service 資格情報パラメーターを受け入れません 。ただし、 [〜#〜] wmi [〜#〜] を使用して実行できます。

$cred = get-Credential -credential <your domain user here>
Get-WMIObject Win32_Service -computer $computer -credential $cred

コメント後に更新:

資格情報をセキュアストリングとしてファイルに保存し、それを再ロードして、プロンプトなしで資格情報を手動で作成できます。情報を見る ここ

9
David Brabant

これも機能します:

Net Use \\server\c$ $password /USER:$username
$service = Get-Service $serviceName -ComputerName $server

パスワードは安全な文字列であってはならないことに注意してください。

7