Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SAP Connector for Microsoft.NET登录SAP,使用Powershell_.net_Powershell_Sap Erp_Sap Gui - Fatal编程技术网

使用SAP Connector for Microsoft.NET登录SAP,使用Powershell

使用SAP Connector for Microsoft.NET登录SAP,使用Powershell,.net,powershell,sap-erp,sap-gui,.net,Powershell,Sap Erp,Sap Gui,我尝试使用SAP Connector for Microsoft.NET接口登录到SAP系统。我可以使用另一种方法登录,不使用SAP Connector,使用sapshcut,代码如下: #-Start the SAP GUI----------------------------------------- $SID = "t30.lan" $SAPGUI = $SAPGUIPath + "sapgui.exe" &

我尝试使用SAP Connector for Microsoft.NET接口登录到SAP系统。我可以使用另一种方法登录,不使用SAP Connector,使用
sapshcut
,代码如下:

  #-Start the SAP GUI-----------------------------------------

    $SID = "t30.lan"

    $SAPGUI = $SAPGUIPath + "sapgui.exe"
    & $SAPGUI $SID $InstanceNo    
    & $SAPGUIPath\sapshcut.exe -maxgui  -system=t30 -client=110 -user=test -pw=test01 -language=DE
现在,我导入了用于Microsoft.NET的SAP连接器。我想用如下代码示例设置连接:

  #-Function Get-Destination--------------------------------------------
  Function Get-Destination {

    #-Connection parameters---------------------------------------------
    $cfgParams = New-Object SAP.Middleware.Connector.RfcConfigParameters
    $cfgParams.Add("NAME", "Testsystem")
    $cfgParams.Add("ASHOST", "t30.lan")
    $cfgParams.Add("SYSNR", "01")
    $cfgParams.Add("CLIENT", "110")
    $cfgParams.Add("USER", "test")
    $cfgParams.Add("PASSWD", "test01")

    Return [SAP.Middleware.Connector.RfcDestinationManager]::GetDestination($cfgParams)

  }
IsShutDown                      : False
Repository                      : 
SystemAttributes                : 
TraceLevel                      : 0
User                            : test
AliasUser                       : 
Client                          : 110
SystemNumber                    : 01
SystemID                        : 
Language                        : 
AppServerHost                   : t30.lan
AppServerService                : 
MessageServerHost               : 
MessageServerService            : 
LogonGroup                      : 
SAPRouter                       : 
Codepage                        : 
PartnerCharSize                 : 
UseSAPCodepages                 : 
UseSymbolicNames                : 0
LogonCheck                      : 1
SncMode                         : 
SncMyName                       : 
SncPartnerName                  : 
SncLibraryPath                  : 
SncQOP                          : 8
SncSSO                          : 1
UseSAPGui                       : 0
AbapDebug                       : 0
NoCompression                   : 0
NoBasXml                        : 0
Delta                           : 1
OnCharacterConversionError      : 1
CharacterFaultIndicatorToken    : #
PoolSize                        : 10
PeakConnectionsLimit            : 10
MaxPoolSize                     : 10
PoolIdleTimeout                 : 3600
IdleTimeout                     : 600
ConnectionIdleTimeout           : 600
RepositoryConnectionIdleTimeout : 600
IdleCheckTime                   : 600
MaxPoolWaitTime                 : 
Monitor                         : SAP.Middleware.Connector.RfcDestinationMonitor
它不起作用了。我想我把参数设置错了,但我在网上找不到帮助。我得到了一个这样的日志,我认为它不起作用,因为
OnCharacterConversationError:1
。我的控制台日志如下所示:

  #-Function Get-Destination--------------------------------------------
  Function Get-Destination {

    #-Connection parameters---------------------------------------------
    $cfgParams = New-Object SAP.Middleware.Connector.RfcConfigParameters
    $cfgParams.Add("NAME", "Testsystem")
    $cfgParams.Add("ASHOST", "t30.lan")
    $cfgParams.Add("SYSNR", "01")
    $cfgParams.Add("CLIENT", "110")
    $cfgParams.Add("USER", "test")
    $cfgParams.Add("PASSWD", "test01")

    Return [SAP.Middleware.Connector.RfcDestinationManager]::GetDestination($cfgParams)

  }
IsShutDown                      : False
Repository                      : 
SystemAttributes                : 
TraceLevel                      : 0
User                            : test
AliasUser                       : 
Client                          : 110
SystemNumber                    : 01
SystemID                        : 
Language                        : 
AppServerHost                   : t30.lan
AppServerService                : 
MessageServerHost               : 
MessageServerService            : 
LogonGroup                      : 
SAPRouter                       : 
Codepage                        : 
PartnerCharSize                 : 
UseSAPCodepages                 : 
UseSymbolicNames                : 0
LogonCheck                      : 1
SncMode                         : 
SncMyName                       : 
SncPartnerName                  : 
SncLibraryPath                  : 
SncQOP                          : 8
SncSSO                          : 1
UseSAPGui                       : 0
AbapDebug                       : 0
NoCompression                   : 0
NoBasXml                        : 0
Delta                           : 1
OnCharacterConversionError      : 1
CharacterFaultIndicatorToken    : #
PoolSize                        : 10
PeakConnectionsLimit            : 10
MaxPoolSize                     : 10
PoolIdleTimeout                 : 3600
IdleTimeout                     : 600
ConnectionIdleTimeout           : 600
RepositoryConnectionIdleTimeout : 600
IdleCheckTime                   : 600
MaxPoolWaitTime                 : 
Monitor                         : SAP.Middleware.Connector.RfcDestinationMonitor

我不确定那是个错误。当您拥有rfc目标时,您可以使用目标的Ping()方法检查是否可以连接。您能否提供一些详细信息,说明您到底想要实现什么?如果您想登录对话框,您需要通过SAPgui/SAPgui自动化,如果您想调用RFC函数,您需要使用SAP连接器。另一种可能是在SAP中提供一个服务,并使用Invoke WebRequest或Invoke RestMethod从PowerShell调用它。Hello@ThomasErdösi我尝试用一个脚本显示交货通知,该脚本可以自动登录到我的SAP。我有一个与RFC一起工作的vbs脚本,它自动登录到sap,并显示那些交付账单,但我必须将其转换为powershell。但我不知道如何记录您是否提供了要转换的vbs脚本的基本部分?@ThomasErdösi,以下是我要转换到powershell的代码