PowerShell module Invoke-Command

Multi tool use
Multi tool use












2















I created a PowerShell module with function userToBla:



function userToBla
{
[CmdletBinding()]
[Alias()]
[OutputType([int])]
Param
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0)]
$User
)

Begin
{
$username = "testtest"
$password = "XXXXXXXXX"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$serverCredential = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
}

Process
{
Invoke-Command -Credential $serverCredential -ComputerName server1 -ArgumentList $user, $targetAddress -ScriptBlock {
param ($email,
$temail)

Import-Module ActiveDirectory

Get-ADUser -filter {(mail -eq $email)} | Set-ADUser -Replace @{postalCode = ($temail)}
$status = $movestatus.status
}

End
{
}
}


When I import the module and run userToBla -user test the invoke-command will not execute on server1 (it looks like its trying to execute the scriptblock on the local system):



Import-Module : The specified module 'ActiveDirectory' was not loaded because no valid module file was found in any module directory.

Get-ADUser : The term 'Get-ADUser' is not recognized as the name of a cmdlet, function, script file, or operable program.

-Credential : The term '-Credential' is not recognized as the name of a cmdlet, function, script file, or operable program.


If I run the invoke-command from the PowerShell console it works without any problems.










share|improve this question




















  • 1





    The Invoke-Command call isn't the one that's failing. The Import-Module is.

    – Thomas Stringer
    Aug 24 '15 at 13:36











  • I agree do you have the Active Directory module installed on the server you are trying to Invoke? also where is your $serverCredential set?

    – Luke
    Aug 24 '15 at 13:43











  • thanks for the comments. ActiveDirectory module is installed on the server (running only the invoke-command works). I forgot to add $serverCredential code

    – abc123
    Aug 24 '15 at 13:48








  • 1





    Usually this happens because the powershell being invoked is not 64bit. Most of the server modules are not available in a 32bit shell.

    – Eris
    Aug 24 '15 at 16:16
















2















I created a PowerShell module with function userToBla:



function userToBla
{
[CmdletBinding()]
[Alias()]
[OutputType([int])]
Param
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0)]
$User
)

Begin
{
$username = "testtest"
$password = "XXXXXXXXX"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$serverCredential = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
}

Process
{
Invoke-Command -Credential $serverCredential -ComputerName server1 -ArgumentList $user, $targetAddress -ScriptBlock {
param ($email,
$temail)

Import-Module ActiveDirectory

Get-ADUser -filter {(mail -eq $email)} | Set-ADUser -Replace @{postalCode = ($temail)}
$status = $movestatus.status
}

End
{
}
}


When I import the module and run userToBla -user test the invoke-command will not execute on server1 (it looks like its trying to execute the scriptblock on the local system):



Import-Module : The specified module 'ActiveDirectory' was not loaded because no valid module file was found in any module directory.

Get-ADUser : The term 'Get-ADUser' is not recognized as the name of a cmdlet, function, script file, or operable program.

-Credential : The term '-Credential' is not recognized as the name of a cmdlet, function, script file, or operable program.


If I run the invoke-command from the PowerShell console it works without any problems.










share|improve this question




















  • 1





    The Invoke-Command call isn't the one that's failing. The Import-Module is.

    – Thomas Stringer
    Aug 24 '15 at 13:36











  • I agree do you have the Active Directory module installed on the server you are trying to Invoke? also where is your $serverCredential set?

    – Luke
    Aug 24 '15 at 13:43











  • thanks for the comments. ActiveDirectory module is installed on the server (running only the invoke-command works). I forgot to add $serverCredential code

    – abc123
    Aug 24 '15 at 13:48








  • 1





    Usually this happens because the powershell being invoked is not 64bit. Most of the server modules are not available in a 32bit shell.

    – Eris
    Aug 24 '15 at 16:16














2












2








2








I created a PowerShell module with function userToBla:



function userToBla
{
[CmdletBinding()]
[Alias()]
[OutputType([int])]
Param
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0)]
$User
)

Begin
{
$username = "testtest"
$password = "XXXXXXXXX"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$serverCredential = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
}

Process
{
Invoke-Command -Credential $serverCredential -ComputerName server1 -ArgumentList $user, $targetAddress -ScriptBlock {
param ($email,
$temail)

Import-Module ActiveDirectory

Get-ADUser -filter {(mail -eq $email)} | Set-ADUser -Replace @{postalCode = ($temail)}
$status = $movestatus.status
}

End
{
}
}


When I import the module and run userToBla -user test the invoke-command will not execute on server1 (it looks like its trying to execute the scriptblock on the local system):



Import-Module : The specified module 'ActiveDirectory' was not loaded because no valid module file was found in any module directory.

Get-ADUser : The term 'Get-ADUser' is not recognized as the name of a cmdlet, function, script file, or operable program.

-Credential : The term '-Credential' is not recognized as the name of a cmdlet, function, script file, or operable program.


If I run the invoke-command from the PowerShell console it works without any problems.










share|improve this question
















I created a PowerShell module with function userToBla:



function userToBla
{
[CmdletBinding()]
[Alias()]
[OutputType([int])]
Param
(
[Parameter(Mandatory = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0)]
$User
)

Begin
{
$username = "testtest"
$password = "XXXXXXXXX"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$serverCredential = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr
}

Process
{
Invoke-Command -Credential $serverCredential -ComputerName server1 -ArgumentList $user, $targetAddress -ScriptBlock {
param ($email,
$temail)

Import-Module ActiveDirectory

Get-ADUser -filter {(mail -eq $email)} | Set-ADUser -Replace @{postalCode = ($temail)}
$status = $movestatus.status
}

End
{
}
}


When I import the module and run userToBla -user test the invoke-command will not execute on server1 (it looks like its trying to execute the scriptblock on the local system):



Import-Module : The specified module 'ActiveDirectory' was not loaded because no valid module file was found in any module directory.

Get-ADUser : The term 'Get-ADUser' is not recognized as the name of a cmdlet, function, script file, or operable program.

-Credential : The term '-Credential' is not recognized as the name of a cmdlet, function, script file, or operable program.


If I run the invoke-command from the PowerShell console it works without any problems.







powershell






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 30 '18 at 0:18









Peter Mortensen

13.6k1984111




13.6k1984111










asked Aug 24 '15 at 12:52









abc123abc123

112




112








  • 1





    The Invoke-Command call isn't the one that's failing. The Import-Module is.

    – Thomas Stringer
    Aug 24 '15 at 13:36











  • I agree do you have the Active Directory module installed on the server you are trying to Invoke? also where is your $serverCredential set?

    – Luke
    Aug 24 '15 at 13:43











  • thanks for the comments. ActiveDirectory module is installed on the server (running only the invoke-command works). I forgot to add $serverCredential code

    – abc123
    Aug 24 '15 at 13:48








  • 1





    Usually this happens because the powershell being invoked is not 64bit. Most of the server modules are not available in a 32bit shell.

    – Eris
    Aug 24 '15 at 16:16














  • 1





    The Invoke-Command call isn't the one that's failing. The Import-Module is.

    – Thomas Stringer
    Aug 24 '15 at 13:36











  • I agree do you have the Active Directory module installed on the server you are trying to Invoke? also where is your $serverCredential set?

    – Luke
    Aug 24 '15 at 13:43











  • thanks for the comments. ActiveDirectory module is installed on the server (running only the invoke-command works). I forgot to add $serverCredential code

    – abc123
    Aug 24 '15 at 13:48








  • 1





    Usually this happens because the powershell being invoked is not 64bit. Most of the server modules are not available in a 32bit shell.

    – Eris
    Aug 24 '15 at 16:16








1




1





The Invoke-Command call isn't the one that's failing. The Import-Module is.

– Thomas Stringer
Aug 24 '15 at 13:36





The Invoke-Command call isn't the one that's failing. The Import-Module is.

– Thomas Stringer
Aug 24 '15 at 13:36













I agree do you have the Active Directory module installed on the server you are trying to Invoke? also where is your $serverCredential set?

– Luke
Aug 24 '15 at 13:43





I agree do you have the Active Directory module installed on the server you are trying to Invoke? also where is your $serverCredential set?

– Luke
Aug 24 '15 at 13:43













thanks for the comments. ActiveDirectory module is installed on the server (running only the invoke-command works). I forgot to add $serverCredential code

– abc123
Aug 24 '15 at 13:48







thanks for the comments. ActiveDirectory module is installed on the server (running only the invoke-command works). I forgot to add $serverCredential code

– abc123
Aug 24 '15 at 13:48






1




1





Usually this happens because the powershell being invoked is not 64bit. Most of the server modules are not available in a 32bit shell.

– Eris
Aug 24 '15 at 16:16





Usually this happens because the powershell being invoked is not 64bit. Most of the server modules are not available in a 32bit shell.

– Eris
Aug 24 '15 at 16:16












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f32182829%2fpowershell-module-invoke-command%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f32182829%2fpowershell-module-invoke-command%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







YPP6UYDtfqWZPH6qwWA0 aE9i5k2AA5y,A qKMvpaIyeM bDFNP
YqY,FUM,p7frYakllsbn3qXu67PvKuGpyV7bBFeD71j EQwcK9YyIu5

Popular posts from this blog

Monofisismo

Angular Downloading a file using contenturl with Basic Authentication

Olmecas