2017-02-07 5 views
1

Я создаю для себя полезный модуль powershell для повторяющихся задач.Ошибка при покупке модуля

В качестве примера я буду использовать одну функцию внутри модуля.

function GetUserInfo 
{ 
    $user_name = $env:UserName 
    $user_domain = $env:UserDomain 
    $user_computer = $env:COMPUTERNAME 
    $user_ip = [System.Net.Dns]::GetHostAddresses($user_computer); 
    $user_ip = $user_ip[1].IPAddressToString 

    return $user_info = "$user_domain/$user_ip/$user_computer/$user_name" 
} 
export-modulemember -function GetUserInfo 

Каждый раз, когда я пытаюсь загрузить модуль

Import-Module \\erpscriptprod\Library\PowerShell\PowerShell_BaseLibrary.ps1 

Я получаю ошибку followoing ...

Экспортно-ModuleMember Командлет можно назвать только внутри модуля

Я новичок в powershell, но откуда я сижу, клянусь, я звоню g внутри модуля. Я не могу найти ошибку в Интернете, но я сомневаюсь, что я единственный человек, который испытал это.

+0

'PowerShell_BaseLibrary.ps1' ->' PowerShell_BaseLibrary.psm1' – BenH

+0

@BenH Извините, я не уверен, что я следую. когда я импортирую? – gregnnylf94

+0

'.ps1' не является файлом модуля. Переименуйте свой скрипт. – BenH

ответ

1

Переименуйте файл * .ps1 в * .psm1. Вы можете экспортировать элементы только из модуля, когда вы вызываете Export-ModuleMember.