New-PSsession不在Script中工作

时间:2014-08-19 10:16:26

标签: powershell

我的一台服务器出现了一个奇怪的问题:

我正试图用它打开PSsession。 如果我直接在powershell中复制我的脚本一切正常,但如果我通过.ps1文件运行它,我会收到拒绝访问错误。

同样的sript适用于除此之外的多台机器。

添加个人信息:

执行服务器:Server 2012

Target Server2003SP2

另一个Server2003SP2正常运行没有问题

使用以下命令配置客户端服务器:

 Enable-PSRemoting -Force
 Set-Item wsman:\localhost\client\trustedhosts MY2012Server -concatenate -force
 Restart-Service WinRM

错误信息:

 New-PSSession : [Server2003SP2] Connecting to remote server Server2003SP2 failed with the following error message : Access is denied. For more information,
 Help topic.
 At C:\Users\Administrator\Desktop\Script.ps1:23 char:13
 +  $Session = New-PSSession -ComputerName $Servername -credential $Cred #-sessionO ...
 +             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
 + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed

编辑:我要求的完整SCript:

$Password = "Hereismypasswordwith@and€init"
$Username = "Servername\Administrator"
$Servername = "Servername" 
$Language = {

$oscode = Get-WmiObject Win32_OperatingSystem -ErrorAction continue 
$oscode = $oscode.oslanguage 
$switch = switch ($oscode){
           1031 {"Deutsch"};
                              1033 {"English"};
           default {"English"};             
                           }            
write-host $switch
return $switch

}

 $SecurePassWord = ConvertTo-SecureString -AsPlainText $Password -Force
 $Cred = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $Username, $SecurePassWord
 $pssessionoption = new-pssessionoption -operationtimeout 7200000 -IdleTimeout 7200000
 $Session = New-PSSession -ComputerName $Servername -credential $Cred -sessionOption $pssessionoption
 Invoke-Command -Session $Session -Scriptblock $Language 
 Remove-PSSession -Session $Session 

更新:

它似乎是Char编码中的内容。

ps1文件中的密码为其中的€产生不同的输出: 在ps1中。 ¬ 在ps窗口中:?

如果我将密码作为Paramter传递它也可以。

$ password.gethash()也提供不同的输出。代码页虽然(chcp)

是相同的

脚本是在notepad ++中创建的

1 个答案:

答案 0 :(得分:0)

在没有BOM的情况下从UTC更改/转换为ansi修复了问题.. jesus christ谁想到这样的东西/为什么地狱被设置为这个值..