<?xml version="1.0" encoding="us-ascii"?><InstanceReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Version>2.4.0.8</Version><ReportLongName>000140 - Disclosure - Note 9. Stock Warrants</ReportLongName><DisplayLabelColumn>true</DisplayLabelColumn><ShowElementNames>false</ShowElementNames><RoundingOption /><HasEmbeddedReports>false</HasEmbeddedReports><Columns><Column FlagID="0"><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><CurrencyCode /><FootnoteIndexer /><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios><MCU><KeyName /><CurrencySymbol /><contextRef><ContextID>D130101_130630</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0000904896</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2013-01-01T00:00:00</PeriodStartDate><PeriodEndDate>2013-06-30T00:00:00</PeriodEndDate><Segments /><Scenarios /></contextRef><UPS /><CurrencyCode /><OriginalCurrencyCode /></MCU><CurrencySymbol /><Labels><Label Key="CalendarSupplement" Id="0" Label="6 Months Ended" /><Label Key="Calendar" Id="1" Label="Jun. 30, 2013" /></Labels></Column></Columns><Rows><Row FlagID="0"><Id>1</Id><IsAbstractGroupTitle>true</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>1</Level><ElementName>us-gaap_DisclosureTextBlockAbstract</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>xbrli:stringItemType</ElementDataType><SimpleDataType>string</SimpleDataType><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Notes</Label></Row><Row FlagID="0"><Id>2</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelSeparator>

</LabelSeparator><Level>2</Level><ElementName>us-gaap_CompensationRelatedCostsGeneralTextBlock</ElementName><ElementPrefix>us-gaap_</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsCalendarTitle>false</IsCalendarTitle><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><FootnoteIndexer /><Cells><Cell FlagID="0" ContextID="D130101_130630" UnitID=""><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText>&lt;!--egx--&gt;&lt;p style='margin:0in;margin-bottom:.0001pt'&gt;&lt;b&gt;Note 9.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Stock Warrants&lt;/b&gt;&lt;/p&gt; &lt;p style='margin:0in;margin-bottom:.0001pt'&gt;&amp;nbsp;&lt;/p&gt; &lt;p style='margin:0in;margin-bottom:.0001pt;text-align:justify;text-autospace:none'&gt;The Company accounts for stock warrants based on the estimated fair value of the warrants on the date of grant using the Black-Scholes valuation model. &amp;#160;The Company uses historical data among other factors to estimate the expected price volatility, the expected warrant term and the expected forfeiture rate.&amp;#160; The risk-free rate is based on the U.S. Treasury yield curve in effect at the date of grant for the expected term of the warrant.&lt;/p&gt; &lt;p style='margin:0in;margin-bottom:.0001pt'&gt;&amp;nbsp;&lt;/p&gt; &lt;p style='margin:0in;margin-bottom:.0001pt;text-align:justify'&gt;In March 2012, the Board of Directors approved a plan to automatically extend to two holders of Company warrants the expiration date of the warrants by one (1) year.&amp;#160; All other terms and conditions of each warrant remain unchanged.&amp;#160; The two holders are Timothy R. Kasmoch, President and CEO of the Company, and, Strategic Asset Management Co, Inc., holders of 50,000 and 120,000 warrants, respectively, and extended to March 22, 2013 and March 26, 2013, respectively.&amp;#160; The incremental fair value of $105,329 associated with the extension of the warrant expiration dates was determined using the Black-Scholes model and was recorded as a deemed dividend to common stockholders in the Statement of Stockholders&amp;#146; Equity in the first quarter of 2012.&amp;#160; Additional information is available in the Form 8-K filed by the Company on March 27, 2012.&lt;/p&gt; &lt;p style='margin:0in;margin-bottom:.0001pt;text-align:justify;text-indent:.5in'&gt;&amp;nbsp;&lt;/p&gt; &lt;p style='margin:0in;margin-bottom:.0001pt;text-align:justify'&gt;In February 2013, the Board of Directors approved a plan to modify all Company warrants by offering any warrant holder who exercises a &amp;#147;replacement warrant&amp;#148;.&amp;#160; All other terms and conditions of all outstanding warrants remain unchanged.&amp;#160; In February and March 2013, five warrant holders exercised a total of 127,264 warrants at $1.00 and were issued a total of 127,264 shares of restricted common stock and 127,264 replacement warrants.&amp;#160; All of the proceeds from the exercises were used in operations.&amp;#160; The incremental fair value of $178,200 associated with the exercises and concurrent issuances of replacement warrants was determined using the Black-Scholes model and has been recorded as a deemed dividend to common stockholders in the Statement of Stockholders&amp;#146; Equity in the first quarter of 2013.&lt;/p&gt;</NonNumbericText><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat></Cell></Cells><ElementDataType>nonnum:textBlockItemType</ElementDataType><SimpleDataType>na</SimpleDataType><ElementDefenition>The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items.  Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.</ElementDefenition><ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 718

 -SubTopic 10

 -Section 50

 -Paragraph 1

 -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901



Reference 2: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 718

 -SubTopic 10

 -Section 50

 -Paragraph 2

 -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901



Reference 3: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 718

 -SubTopic 10

 -Section S99

 -Paragraph 1

 -Subparagraph (SAB TOPIC 14.F)

 -URI http://asc.fasb.org/extlink&amp;oid=6793087&amp;loc=d3e301413-122809



Reference 4: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 715

 -SubTopic 70

 -Section 50

 -Paragraph 1

 -URI http://asc.fasb.org/extlink&amp;oid=6414718&amp;loc=d3e28014-114942



Reference 5: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Accounting Standards Codification

 -Topic 715

 -SubTopic 20

 -Section 50

 -Paragraph 1

 -URI http://asc.fasb.org/extlink&amp;oid=21915506&amp;loc=d3e1928-114920



Reference 6: http://www.xbrl.org/2003/role/presentationRef

 -Publisher FASB

 -Name Statement of Financial Accounting Standard (FAS)

 -Number 123R

 -Paragraph 64, 65

 -LegacyDoc This reference is SUPERSEDED by the Accounting Standards Codification effective for interim and annual periods ending after September 15, 2009.  This reference is included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.



</ElementReferences><IsTotalLabel>false</IsTotalLabel><UnitID>0</UnitID><Label>Note 9. Stock Warrants</Label></Row></Rows><Footnotes /><IsEquityReport>false</IsEquityReport><ReportName>Note 9. Stock Warrants</ReportName><MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel><SharesRoundingLevel>UnKnown</SharesRoundingLevel><PerShareRoundingLevel>UnKnown</PerShareRoundingLevel><ExchangeRateRoundingLevel>UnKnown</ExchangeRateRoundingLevel><HasCustomUnits>true</HasCustomUnits><IsEmbedReport>false</IsEmbedReport><IsMultiCurrency>false</IsMultiCurrency><ReportType>Sheet</ReportType><RoleURI>http://www.nviro.com/20130630/role/idr_DisclosureNote9StockWarrants</RoleURI><NumberOfCols>1</NumberOfCols><NumberOfRows>2</NumberOfRows></InstanceReport>
