2016-12-01 6 views
3

現在ログに記録されているWindowsユーザーのドメインを特定する必要があります。 .NET CoreのEnvironment.UserDomainNameが表示されません。代わりに何も見つかりませんでした。それは他の場所に隠されていますか?Environment.UserDomainNameは.NETコアコンソールアプリケーションで同等です

これはSystem.Environment in .NET Coreと重複していません。.NETコアでEnvironmentクラスを取得する場合は問題ありません。私はその特定のプロパティUserDomainNameが不足している必要があります。

+4

可能な重複:

public static class Machine { public static string User(){ return Environment.GetEnvironmentVariable("USERNAME") ?? Environment.GetEnvironmentVariable("USER"); } public static string Domain(){ return Environment.GetEnvironmentVariable("USERDOMAIN") ?? Environment.GetEnvironmentVariable("HOSTNAME"); } } 

簡単にユーザー名とドメインを取得することができます.com/questions/28497438/system-environment-in-net-core) – MethodMan

答えて

4

残念ながら、Environment.UserDomainNameは.NETコアでは使用できません。

ただし、.NETコアはEnvironment.GetEnvironmentVariable()を提供しており、環境変数にアクセスできます。 USERDOMAIN環境変数はWindowsでは使用可能で、HOSTNAME環境変数はLinuxおよびMacで使用できるため、Windowsの場合はEnvironment.GetEnvironmentVariable("USERDOMAIN")、Linux/Macの場合はEnvironment.GetEnvironmentVariable("HOSTNAME")と呼ぶことができます。

このクラスは、役に立つことができます:// stackoverflowの:[.NETのコアでSystem.Environment](HTTPの Machine.User();またはMachine.Domain();

+2

ありがとうございました。 System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows)の助けを借りて、私はどの変数( "USERDOMAIN"または "HOSTNAME")を見つけることができると思います。 – Alex

+0

あなたがそれを言及するまで、私はSystem.Runtime.InteropServices NuGetパッケージについて知りませんでした。ヒントをありがとう! – kimbaudi

関連する問題