小编Yan*_*ard的帖子

如果远程TCP端口已打开,请从shell脚本进行测试

我正在寻找一种快速而简单的方法,用于在Shell脚本内部正确测试远程服务器上的给定TCP端口是否打开.

我已经设法使用telnet命令,并且它在端口打开时工作正常,但它似乎没有超时,当它不是,只是挂在那里...

这是一个示例:

l_TELNET=`echo "quit" | telnet $SERVER $PORT | grep "Escape character is"`
if [ "$?" -ne 0 ]; then
  echo "Connection to $SERVER on port $PORT failed"
  exit 1
else
  echo "Connection to $SERVER on port $PORT succeeded"
  exit 0
fi
Run Code Online (Sandbox Code Playgroud)

我要么需要一个更好的办法,还是有办法来强制远程登录超时如果它没有下8秒连接,例如,和(在标准输出返回码,或字符串)返回的东西我可以赶上壳.

我知道Perl方法,它使用IO :: Socket :: INET模块并编写了一个测试端口的成功脚本,但是如果可能的话,我宁愿避免使用Perl.

注意:这是我的服务器运行的地方(我需要从中运行它)

SunOS 5.10 Generic_139556-08 i86pc i386 i86pc

shell port solaris tcp telnet

287
推荐指数
12
解决办法
46万
查看次数

如何使用PowerShell设置IIS的Forms Authentication(system.web/authentication)的overrideMode?

我需要使用powershell自动配置新的IIS服务器,我需要更改Forms身份验证功能(其overrideMode)的功能委派设置.

我基本上想要改变使用此命令时看到的overrideMode:

Get-WebConfiguration -Filter //system.web/authentication -PSPath 'MACHINE/WEBROOT/APPHOST' | fl *
Run Code Online (Sandbox Code Playgroud)

我可以使用Set-WebConfiguration为其他类型的身份验证方法设置它,例如,对于Windows身份验证,我会这样做:

Set-WebConfiguration -Filter //System.webServer/Security/Authentication/windowsAuthentication -PSPath 'MACHINE/WEBROOT/APPHOST' -Metadata overrideMode -Value Allow
Run Code Online (Sandbox Code Playgroud)

但由于某些原因我不能对//system.web/authentication做同样的事情,我不明白为什么.当我尝试时,我收到此错误:

PS H:\> Set-WebConfiguration -Filter //System.web/Authentication -PSPath 'MACHINE/WEBROOT/APPHOST' -Metadata overrideMode -Value Allow
Set-WebConfiguration : Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config
Line number: 974
Error: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default 
(overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
At …
Run Code Online (Sandbox Code Playgroud)

iis powershell web-administration

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

转储SQL Server 2008 R2中父/子类型记录的完整路径列表

我需要检索存储在数据库中的组(文件夹)的完整路径列表:

select * from groups;

group_id    parent_group_id    name
--------    ---------------    -------------------------------
1           NULL               Root
2           1                  Folder1
3           2                  Folder2
4           3                  Folder3
Run Code Online (Sandbox Code Playgroud)

组的可能深度没有限制(几乎可以无限期地嵌套),所以我事先并不知道我可以拥有多少级别.

我希望能够从查询中获取以下结果并将其加载到一个表中,我可以使用该表在其他查询中使用group_ids加入完整路径:

group_id   path
--------   --------------------------------------------
1          /Root
2          /Root/Folder1
3          /Root/Folder1/Folder2
4          /Root/Folder1/Folder2/Folder3
Run Code Online (Sandbox Code Playgroud)

我一直在寻找其他一些有类似需求的例子,但它似乎永远不能完全符合我的要求,如果没有一个明确的例子,我就无法独自完成它.

我唯一能想到的是将同一个表的别名加到最大级别,这可能很多,这是不切实际的.我需要一种方法以某种方式递归循环每个组并向上移动树,将路径附加到变量直到我结束,然后将最深的子ID及其完整路径存储在表中.

表现也很重要.这是一个生产数据库,我无法承受减速,这就是为什么我只想在我需要它然后重用静态数据时才转储它.最终,我想转储数千个记录,每个记录链接到group_id并打印完整路径.

如果没有免费提供给我全部内容,有人可以指出我正确的方向并且可能给我一个通用的例子来复制吗?

我们正在使用SQL Server 2008 R2.

sql sql-server recursion sql-server-2008-r2

2
推荐指数
1
解决办法
3981
查看次数