diff --git a/Module/Cmdlets/Yubikey/FindYubikey.cs b/Module/Cmdlets/Yubikey/FindYubikey.cs index bba1563..1fc9330 100644 --- a/Module/Cmdlets/Yubikey/FindYubikey.cs +++ b/Module/Cmdlets/Yubikey/FindYubikey.cs @@ -16,6 +16,7 @@ /// // Imports +using powershellYK.YubiKey; using System.Management.Automation; // Windows PowerShell namespace. using Yubico.YubiKey; @@ -57,7 +58,7 @@ protected override void BeginProcessing() // Return found YubiKeys foreach (var yubiKey in yubiKeys) { - WriteObject((YubiKeyDevice)yubiKey); + WriteObject(new YubikeyInformation(yubiKey: (YubiKeyDevice)yubiKey)); } // Handle case when no YubiKeys are found diff --git a/Module/Cmdlets/Yubikey/GetYubikey.cs b/Module/Cmdlets/Yubikey/GetYubikey.cs index c57b6af..09392b8 100644 --- a/Module/Cmdlets/Yubikey/GetYubikey.cs +++ b/Module/Cmdlets/Yubikey/GetYubikey.cs @@ -55,7 +55,7 @@ protected override void ProcessRecord() try { // Get and return YubiKey information - WriteObject(new YubikeyInformation(yubiKey: (YubiKeyDevice)YubiKeyDevice.FindAll().Where(yk => yk.SerialNumber == YubiKeyModule._yubikey!.SerialNumber).First())); + WriteObject(new YubikeyInformation(yubiKey: YubiKeyModule._yubikey)); } catch (System.InvalidOperationException e) { diff --git a/Module/types/YubiKeyInformation.cs b/Module/types/YubiKeyInformation.cs index 98904cf..b4cf6b0 100644 --- a/Module/types/YubiKeyInformation.cs +++ b/Module/types/YubiKeyInformation.cs @@ -25,6 +25,7 @@ using Yubico.YubiKey.Fido2.Cose; using powershellYK.support; using Yubico.YubiKey; +using powershellYK.PIV; namespace powershellYK.YubiKey { @@ -110,5 +111,14 @@ public YubikeyInformation(YubiKeyDevice yubiKey) this.YubiKeyDevice = yubiKey; this.PrettyName = PowershellYKText.FriendlyName(yubiKey); } + + #region Operators + + public static implicit operator YubiKeyDevice(YubikeyInformation info) + { + return info.YubiKeyDevice; + } + + #endregion } }