我正在寻找一种快速而简单的方法,用于在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
我需要使用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) 我需要检索存储在数据库中的组(文件夹)的完整路径列表:
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.
iis ×1
port ×1
powershell ×1
recursion ×1
shell ×1
solaris ×1
sql ×1
sql-server ×1
tcp ×1
telnet ×1