Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 12 additions & 22 deletions src/Microsoft.WSMan.Management/ConfigProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1024,20 +1024,15 @@ protected override void SetItem(string path, object value)
strPathChk = strPathChk + WSManStringLiterals.containerPlugin + WSManStringLiterals.DefaultPathSeparator;
if (path.EndsWith(strPathChk + currentpluginname, StringComparison.OrdinalIgnoreCase))
{
if (WSManStringLiterals.ConfigRunAsUserName.Equals(ChildName, StringComparison.OrdinalIgnoreCase))
if (WSManStringLiterals.ConfigRunAsUserName.Equals(ChildName, StringComparison.OrdinalIgnoreCase) && value is PSCredential runAsCredentials)
{
PSCredential runAsCredentials = value as PSCredential;
// UserName
value = runAsCredentials.UserName;

if (runAsCredentials != null)
{
// UserName
value = runAsCredentials.UserName;

pluginConfiguration.UpdateOneConfiguration(
".",
WSManStringLiterals.ConfigRunAsPasswordName,
GetStringFromSecureString(runAsCredentials.Password));
}
pluginConfiguration.UpdateOneConfiguration(
".",
WSManStringLiterals.ConfigRunAsPasswordName,
GetStringFromSecureString(runAsCredentials.Password));
}

if (WSManStringLiterals.ConfigRunAsPasswordName.Equals(ChildName, StringComparison.OrdinalIgnoreCase))
Expand Down Expand Up @@ -1304,8 +1299,7 @@ protected override void SetItem(string path, object value)
}
}

WSManProviderSetItemDynamicParameters dynParams = DynamicParameters as WSManProviderSetItemDynamicParameters;
if (dynParams != null)
if (DynamicParameters is WSManProviderSetItemDynamicParameters dynParams)
{
if (dynParams.Concatenate)
{
Expand Down Expand Up @@ -1968,9 +1962,8 @@ protected override object NewItemDynamicParameters(string path, string itemTypeN
private void NewItemCreateComputerConnection(string Name)
{
helper = new WSManHelper(this);
WSManProviderNewItemComputerParameters dynParams = DynamicParameters as WSManProviderNewItemComputerParameters;
string parametersetName = "ComputerName";
if (dynParams != null)
if (DynamicParameters is WSManProviderNewItemComputerParameters dynParams)
{
if (dynParams.ConnectionURI != null)
{
Expand Down Expand Up @@ -2067,8 +2060,7 @@ private void NewItemPluginOrPluginChild(object sessionobj, string path, string h
// to create a new plugin
if (path.EndsWith(strPathChk, StringComparison.OrdinalIgnoreCase))
{
WSManProviderNewItemPluginParameters niParams = DynamicParameters as WSManProviderNewItemPluginParameters;
if (niParams != null)
if (DynamicParameters is WSManProviderNewItemPluginParameters niParams)
{
if (string.IsNullOrEmpty(niParams.File))
{
Expand Down Expand Up @@ -2158,8 +2150,7 @@ private void NewItemPluginOrPluginChild(object sessionobj, string path, string h
strPathChk += WSManStringLiterals.containerResources;
if (path.EndsWith(strPathChk, StringComparison.OrdinalIgnoreCase))
{
WSManProviderNewItemResourceParameters niParams = DynamicParameters as WSManProviderNewItemResourceParameters;
if (niParams != null)
if (DynamicParameters is WSManProviderNewItemResourceParameters niParams)
{
mshObj.Properties.Add(new PSNoteProperty("Resource", niParams.ResourceUri));
mshObj.Properties.Add(new PSNoteProperty("Capability", niParams.Capability));
Expand Down Expand Up @@ -5193,10 +5184,9 @@ private object ValidateAndGetUserObject(string configurationName, object value)
/// <param name="propertyValue">Value to append.</param>
private static string GetStringFromSecureString(object propertyValue)
{
SecureString value = propertyValue as SecureString;
string passwordValueToAdd = string.Empty;

if (value != null)
if (propertyValue is SecureString value)
{
IntPtr ptr = Marshal.SecureStringToBSTR(value);
passwordValueToAdd = Marshal.PtrToStringAuto(ptr);
Expand Down