相关疑难解决方法(0)

如何在(C#/ .NET/WinForms)程序中构建RUNAS/NETONLY功能?

我们的工作站不是我们的SQL Server所在域的成员.(他们实际上根本不在某个领域 - 不要问).

当我们使用SSMS或任何东西连接到SQL Server时,我们将RUNAS/NETONLY与DOMAIN\user一起使用.然后我们输入密码并启动程序.(RUNAS/NETONLY不允许您在批处理文件中包含密码).

所以我有一个需要SQL连接的.NET WinForms应用程序,用户必须通过运行具有RUNAS/NETONLY命令行的批处理文件启动它,然后启动EXE.

如果用户意外直接启动EXE,则无法连接到SQL Server.

右键单击应用程序并使用"运行方式..."选项不起作用(可能是因为工作站并不真正了解域).

我正在寻找一种方法让应用程序在内部启动之前执行RUNAS/NETONLY功能.

有关RUNAS/NETONLY如何工作的说明,请参阅此链接:http://www.eggheadcafe.com/conversation.aspx?smessidid = 32443204&threadid = 32442982

我想我将不得不使用LOGON_NETCREDENTIALS_ONLYCreateProcessWithLogonW

.net sql-server security authentication runas

21
推荐指数
3
解决办法
2万
查看次数

PowerShell:使用 Get-Credential 调用 sqlcmd 不起作用

我从未见过如此简单的脚本如此失败:

$SQLServer = "localhost"
$cred = Get-Credential
invoke-sqlcmd -ServerInstance $SQLServer -Credential $cred -Query "select @@version"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这句话说 -Credentials不被认可:

Invoke-Sqlcmd : A parameter cannot be found that matches parameter name 'Credential'.
Run Code Online (Sandbox Code Playgroud)

那么有什么意义Get-Credential呢?我在互联网上看到很多例子,他们都是这样使用的。

编辑示例:为什么此代码正在使用-Credential?因为-Credential在函数内部?

function Pause ($Message="Press any key to continue..."){ 
    "" 
    Write-Host $Message 
    $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 
} 

function GetCompName{ 
    $SQLServer = Read-Host "Please enter a computer name or IP" 
    CheckHost 
} 

function CheckHost{ 
    $ping = gwmi Win32_PingStatus -filter "Address='$SQLServer'" 
    if($ping.StatusCode -eq 0){$pcip=$ping.ProtocolAddress; GetCollation} 
    else{Pause …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell invoke-sqlcmd

5
推荐指数
1
解决办法
7615
查看次数