コード例 #1
0
        /// <summary>
        /// Remove the <see cref="CimSession"/> objects based on given cmdlet
        /// and its parameter.
        /// </summary>
        /// <param name="cmdlet"></param>
        public void RemoveCimSession(RemoveCimSessionCommand cmdlet)
        {
            DebugHelper.WriteLogEx();

            IEnumerable <PSObject>    sessionToRemove = null;
            IEnumerable <ErrorRecord> errorRecords    = null;

            switch (cmdlet.ParameterSetName)
            {
            case CimBaseCommand.CimSessionSet:
                sessionToRemove = this.sessionState.QuerySession(cmdlet.CimSession, out errorRecords);
                break;

            case CimBaseCommand.ComputerNameSet:
                sessionToRemove = this.sessionState.QuerySessionByComputerName(cmdlet.ComputerName, out errorRecords);
                break;

            case CimBaseCommand.SessionIdSet:
                sessionToRemove = this.sessionState.QuerySession(cmdlet.Id, out errorRecords);
                break;

            case CimBaseCommand.InstanceIdSet:
                sessionToRemove = this.sessionState.QuerySession(cmdlet.InstanceId, out errorRecords);
                break;

            case CimBaseCommand.NameSet:
                sessionToRemove = this.sessionState.QuerySession(cmdlet.Name, out errorRecords);
                break;

            default:
                break;
            }

            if (sessionToRemove != null)
            {
                foreach (PSObject psobject in sessionToRemove)
                {
                    if (cmdlet.ShouldProcess(this.sessionState.GetRemoveSessionObjectTarget(psobject), RemoveCimSessionActionName))
                    {
                        this.sessionState.RemoveOneSessionObjectFromCache(psobject);
                    }
                }
            }

            if (errorRecords != null)
            {
                foreach (ErrorRecord errRecord in errorRecords)
                {
                    cmdlet.WriteError(errRecord);
                }
            }
        }
コード例 #2
0
        public void RemoveCimSession(RemoveCimSessionCommand cmdlet)
        {
            DebugHelper.WriteLogEx();
            IEnumerable <PSObject>    pSObjects    = null;
            IEnumerable <ErrorRecord> errorRecords = null;
            string parameterSetName = cmdlet.ParameterSetName;
            string str = parameterSetName;

            if (parameterSetName != null)
            {
                if (str == "CimSessionSet")
                {
                    pSObjects = this.sessionState.QuerySession(cmdlet.CimSession, out errorRecords);
                }
                else
                {
                    if (str == "ComputerNameSet")
                    {
                        pSObjects = this.sessionState.QuerySessionByComputerName(cmdlet.ComputerName, out errorRecords);
                    }
                    else
                    {
                        if (str == "SessionIdSet")
                        {
                            pSObjects = this.sessionState.QuerySession(cmdlet.Id, out errorRecords);
                        }
                        else
                        {
                            if (str == "InstanceIdSet")
                            {
                                pSObjects = this.sessionState.QuerySession(cmdlet.InstanceId, out errorRecords);
                            }
                            else
                            {
                                if (str == "NameSet")
                                {
                                    pSObjects = this.sessionState.QuerySession(cmdlet.Name, out errorRecords);
                                }
                            }
                        }
                    }
                }
            }
            if (pSObjects != null)
            {
                foreach (PSObject pSObject in pSObjects)
                {
                    if (!cmdlet.ShouldProcess(this.sessionState.GetRemoveSessionObjectTarget(pSObject), CimRemoveSession.RemoveCimSessionActionName))
                    {
                        continue;
                    }
                    this.sessionState.RemoveOneSessionObjectFromCache(pSObject);
                }
            }
            if (errorRecords != null)
            {
                foreach (ErrorRecord errorRecord in errorRecords)
                {
                    cmdlet.WriteError(errorRecord);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Remove the <see cref="CimSession"/> objects based on given cmdlet
        /// and its parameter
        /// </summary>
        /// <param name="cmdlet"></param>
        public void RemoveCimSession(RemoveCimSessionCommand cmdlet)
        {
            DebugHelper.WriteLogEx();

            IEnumerable<PSObject> sessionToRemove = null;
            IEnumerable<ErrorRecord> errorRecords = null;
            switch (cmdlet.ParameterSetName)
            {
                case CimBaseCommand.CimSessionSet:
                    sessionToRemove = this.sessionState.QuerySession(cmdlet.CimSession, out errorRecords);
                    break;
                case CimBaseCommand.ComputerNameSet:
                    sessionToRemove = this.sessionState.QuerySessionByComputerName(cmdlet.ComputerName, out errorRecords);
                    break;
                case CimBaseCommand.SessionIdSet:
                    sessionToRemove = this.sessionState.QuerySession(cmdlet.Id, out errorRecords);
                    break;
                case CimBaseCommand.InstanceIdSet:
                    sessionToRemove = this.sessionState.QuerySession(cmdlet.InstanceId, out errorRecords);
                    break;
                case CimBaseCommand.NameSet:
                    sessionToRemove = this.sessionState.QuerySession(cmdlet.Name, out errorRecords);
                    break;
                default:
                    break;
            }
            if (sessionToRemove != null)
            {
                foreach (PSObject psobject in sessionToRemove)
                {
                    if (cmdlet.ShouldProcess(this.sessionState.GetRemoveSessionObjectTarget(psobject), RemoveCimSessionActionName))
                    {
                        this.sessionState.RemoveOneSessionObjectFromCache(psobject);
                    }
                }
            }
            if (errorRecords != null)
            {
                foreach (ErrorRecord errRecord in errorRecords)
                {
                    cmdlet.WriteError(errRecord);
                }
            }
        }
コード例 #4
0
ファイル: CimRemoveSession.cs プロジェクト: nickchal/pash
		public void RemoveCimSession(RemoveCimSessionCommand cmdlet)
		{
			DebugHelper.WriteLogEx();
			IEnumerable<PSObject> pSObjects = null;
			IEnumerable<ErrorRecord> errorRecords = null;
			string parameterSetName = cmdlet.ParameterSetName;
			string str = parameterSetName;
			if (parameterSetName != null)
			{
				if (str == "CimSessionSet")
				{
					pSObjects = this.sessionState.QuerySession(cmdlet.CimSession, out errorRecords);
				}
				else
				{
					if (str == "ComputerNameSet")
					{
						pSObjects = this.sessionState.QuerySessionByComputerName(cmdlet.ComputerName, out errorRecords);
					}
					else
					{
						if (str == "SessionIdSet")
						{
							pSObjects = this.sessionState.QuerySession(cmdlet.Id, out errorRecords);
						}
						else
						{
							if (str == "InstanceIdSet")
							{
								pSObjects = this.sessionState.QuerySession(cmdlet.InstanceId, out errorRecords);
							}
							else
							{
								if (str == "NameSet")
								{
									pSObjects = this.sessionState.QuerySession(cmdlet.Name, out errorRecords);
								}
							}
						}
					}
				}
			}
			if (pSObjects != null)
			{
				foreach (PSObject pSObject in pSObjects)
				{
					if (!cmdlet.ShouldProcess(this.sessionState.GetRemoveSessionObjectTarget(pSObject), CimRemoveSession.RemoveCimSessionActionName))
					{
						continue;
					}
					this.sessionState.RemoveOneSessionObjectFromCache(pSObject);
				}
			}
			if (errorRecords != null)
			{
				foreach (ErrorRecord errorRecord in errorRecords)
				{
					cmdlet.WriteError(errorRecord);
				}
			}
		}