Solved

i'm learning powershell modules. So far i've created a module, i can see it in the list when Get-Module -listavailable, but there's no ExportedCommands ? how can i track the error ?

Posted on 2015-01-05
5
259 Views
Last Modified: 2015-01-05
Hello everyone,

I'm working on powershell, i'm working on modules as i'd like to have my code cleany wrote in modules.

So far i know how to list the available modules, and lucky me : my module is visible in that list that point to the "program files/windowPowerShell/Modules folder".
So my .psm1 file and my psd1 files are correct and in a folder having the same name.


So then i can import it with "Import-module -Name  <modulename>"

On "Get-Module -ListAvalaible" The column with ExportedCommands is empty for my module.
then i can not launch my cmdlets or functions, they dont exist in the session.
 

My Questions :
- how to check the problem i dont know what to do in order to have more infos  ?
- is the code ? is the module ? .....
   
 Get-Command -Module mymodule    <- gives me no output as if my module has no functions.

Thanks for your help.

toshi
0
Comment
Question by:toshi_
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 40

Expert Comment

by:Subsun
ID: 40531388
What you get when you import the module?
Import-Module Test -Verbose

Open in new window

Did you see the command in ExportedCommands section when you use  Get-Module -ListAvailable

If not you can post the module which you are using so we can try to figure out the issue..
0
 

Author Comment

by:toshi_
ID: 40531408
hello Subsun , first of every thing : A Happy New Year.

the verbose attribut wont give me more infos.

here's my module file:


Write-Host "Loading tshr package with utilities" -ForegroundColor Green
#Write-Host "from C:\Program Files\WindowsPowerShell\Modules\Tshr.GetDataOutOfFile" -ForegroundColor Green



function tshr-TestMethod() {
      return "Hello"
}



#function tshr-GetMachinesNames_OutOfDataFile_InArray( [string]$aFilePath="M:\PS_scripts\machinesTest.otl" )
#function tshr-GetMachinesNames-OutOfDataFile-InArray( [string]$aFilePath="M:\PS_scripts\machinesTest.otl" )
function tshr-GetMachinesNamesOutOfDataFileInArray( [string]$aFilePath="M:\PS_scripts\machinesTest.otl" )
{

<#
.SYNOPSYS
Will return all machines under test in an array
.EXAMPLE
first param can be a file with csv content. First column should be machine names
#>

      $linesWithData = Get-Content $aFilePath
      # ^ if no paramt received, will collect machines from default paramter.
      $machinesNames = @()  
      # ^ return an array of string

    foreach($aLine in $linesWithData){
        $machinesNames += $aLine.Split(";")[0].ToString().Trim();
    }
      return $machinesNames;
}



#function tshr-GetMachineAndTestUser_ForMachine( [string]$aFilePath="M:\PS_scripts\machinesTest.otl" )
#function tshr-GetMachineAndTestUser-ForMachine( [string]$aFilePath="M:\PS_scripts\machinesTest.otl" )
function tshr-GetMachineAndTestUserForMachine( [string]$aFilePath="M:\PS_scripts\machinesTest.otl" )
{

<#
.SYNOPSYS
will return objects with two members: machine name and test user for the machine
.EXAMPLE
we are going to display ....
#>

      $linesWithInfos = Get-Content $aFilePath
    # ^ if no paramt received, will collect machines from default paramter.
      $oMyCouples = @()
    # ^ return an array of string

      foreach($lineOneMachine in $linesWithInfos)
      {
            $hostname = $lineOneMachine.Split(";")[0].Trim();
            $username = $lineOneMachine.Split(";")[1].Trim();

            $oMyCouples +=
            @{
                  hostname="$hostname";
                  username="$username";
            }
      }
      return $oMyCouples;  
}



function tshr-testInclusionOfFile()
{
      Write-Host "ok, the file is in the sript"
}



thank in adavance
toshi
0
 
LVL 40

Accepted Solution

by:
Subsun earned 500 total points
ID: 40531432
Wish you too a very happy and prosperous new year.. :-)


This module looks ok.. My wild guess is that you missed to specify the module name in the manifest (in .psd1 file)
Sample .PSD1
0
 

Author Comment

by:toshi_
ID: 40531467
Thanks a lot for your wild guess, you were right.

the thing is that when i just started playing with the module i could see the ExportedCommands column filled with the functions names......i did not pay attention when i lost them...

i didn't know the relation was necessary as they both are in the module folder. I 'll discover that soon ;)

thanks a lot again
0
 
LVL 40

Expert Comment

by:Subsun
ID: 40531486
You are welcome!
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will help you understand what HashTables are and how to use them in PowerShell.
My attempt to use PowerShell and other great resources found online to simplify the deployment of Office 365 ProPlus client components to any workstation that needs it, regardless of existing Office components that may be needing attention.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the adminiā€¦
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question