我想在这个场景中使用PowerShell删除域.从以下变量中获取"domain.com"的最有效方法是什么?
$URL = "http://www.domain.com/folder/"
Run Code Online (Sandbox Code Playgroud)
(某种类型的regex命令可以使用PowerShell将$ URL转换/剥离到$ DOMAIN)
$DOMAIN = "domain.com" #<-- taken from $URL
Run Code Online (Sandbox Code Playgroud)
我搜索过,我发现了从域中查找IP地址的结果,但我需要确定域名首先使用正则表达式(或其他方法).任何建议都很棒.
我在使用基本的PowerShell命令时遇到了一些麻烦.
如果我运行get-website(在启用webadministration snappin之后)并运行"%SystemRoot%\ system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ImportSystemModules",我会在IIS上看到10个左右的网站列表Server 2008 Standard上的7.0服务器(SP2,而不是R2).通过列出这些项目,它按预期工作:
但当我这样做时:
获取网站| export-csv C:\ my_list.csv
我使用"Microsoft.IIs.PowerShell.Framework.ConfigurationElement"而不是实际值获得更多项目.
当它导出为CSV时,它也会在没有事先(当输出在shell中时)时为绑定说"Microsoft.IIs.PowerShell.Framework.ConfigurationElement".
那里有点......
有没有办法我可以修改单行,所以我可以有一个没有"Microsoft.IIs.PowerShell.Framework.ConfigurationElement"的所有细节的网站列表?
我有一个使用此命令在VIM中打开的文件列表:
vim `cat list.txt`
Run Code Online (Sandbox Code Playgroud)
我想在所有打开的文件上运行此命令:
:99,104 norm i#
Run Code Online (Sandbox Code Playgroud)
(从第99行到第104行,插入注释"#")< - 简单,有效
当我运行上面的命令插入它在当前文件上按预期工作.如何让VIM在所有打开的文件上运行完全相同的命令?我试过:argdo,:windo,:bufdo但没有任何运气.
有什么建议?
我遇到麻烦让Nagios在预定义的时间段内遵守notification_period设置.
我的时间段定义称为"睡眠",因为在午夜和早上7点之间不通知我.它看起来像这样:
define timeperiod{
timeperiod_name sleep
alias Not Middle of Night
sunday 07:00-23:59
monday 07:00-23:59
tuesday 07:00-23:59
wednesday 07:00-23:59
thursday 07:00-23:59
friday 07:00-23:59
saturday 07:00-23:59
}
Run Code Online (Sandbox Code Playgroud)
我已经为主机输入了如下指令:
define host{
use linux-server,host-pnp
host_name server.domain.com
alias server.domain.com
address xxx.33.xxx.243
notification_period sleep
}
Run Code Online (Sandbox Code Playgroud)
今天早上我期待看到警告通知,但仅在早上7点之后.相反,我昨晚23:59到今天早上7点整夜看到了它们.
我从配置中了解到,在此期间我不应该收到任何电子邮件.
我忽略了什么吗?我希望它会如此简单,但它没有按预期工作.
我有一个无法使用域凭据连接到SQL Server的问题。使用SA凭据可以正常工作,查询将按预期运行。但是,当我使用域凭据时,会出现错误。
这是脚本:
$SQLServer = 'server.domain.com'
$SQLDBName = 'DBname'
$username = "DOMAIN\user"
$password = "password"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
#--> With SA, it works, with DOMAIN creds, it does not
#$SqlConnection.ConnectionString = "Server=$SQLServer; Database=$SQLDBName; User ID=sa; Password=SApassword;"
$SqlConnection.ConnectionString = "Server=$SQLServer; Database=$SQLDBName; User ID=$username; Password=$password;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = 'select count (*) from my.table'
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
Run Code Online (Sandbox Code Playgroud)
这是我运行脚本时遇到的错误:
使用“ 1”参数调用“填充”的异常:“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问该服务器。请验证实例名称是否正确并且该SQL Server配置为允许远程连接(提供程序:命名管道提供程序,错误:40-无法打开与SQL Server的连接)
在C:\ scripts …
我期待创建一个将生成Word文档的PowerShell脚本.它按预期工作,但是当我运行脚本时,"我的文档:标题"和"日期:01-07-2014"之间存在空格或换行符.结果如下:
My Document: Title
Date: 01-07-2014
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
My Document: Title
Date: 01-07-2014
Run Code Online (Sandbox Code Playgroud)
如何在段落中删除空格的方式写入此脚本?我的意思是,我想在PowerShell中将段落间距设置为单一(默认情况下不在Word中)顺便说一下,如果我不在"Date:$ date"之前添加$ selection.TypeParagraph(),结果如下:
My Document: TitleDate: 01-07-2014
Run Code Online (Sandbox Code Playgroud)
如同,根本没有回车.目标是在回车后返回一个回车但没有空间.这是脚本.
$date = get-date -format MM-dd-yyyy
$filePath = "C:\users\myuser\file"
[ref]$SaveFormat = "microsoft.office.interop.word.WdSaveFormat" -as [type]
$word = New-Object -ComObject word.application
$word.visible = $true
$doc = $word.documents.add()
$selection = $word.selection
$selection.font.size = 14
$selection.font.bold = 1
$selection.typeText("My Document: Title")
$selection.TypeParagraph()
$selection.font.size = 11
$selection.typeText("Date: $date")
$doc.saveas([ref] $filePath, [ref]$saveFormat::wdFormatDocument)
Run Code Online (Sandbox Code Playgroud) 如何让以下文本的输出仅显示引号中的文本(不带引号)?
示例文本”
this is an "apple". it is red
this is an "orange". it is orange
this is an "blood orange". it is reddish
Run Code Online (Sandbox Code Playgroud)
变成:
apple
orange
blood orange
Run Code Online (Sandbox Code Playgroud)
理想情况下,如果可能的话,我想在一个班轮中进行。我认为这是带有 -match 的正则表达式,但我不确定。
我在VI(M)中寻找快速命令,我可以删除从行尾开始到字符的所有文本.我可以反过来说:
:%s/.*"
Run Code Online (Sandbox Code Playgroud)
但我希望相反.我试过了:
:%s/$.*"
Run Code Online (Sandbox Code Playgroud)
但那不起作用(我的逻辑是$ - 从行尾开始,找到所有内容"并删除它.
以下是我试图操作的文本示例(编辑:但这一行多次出现 - 解决方案必须适用于许多类似结构的行 - 单行解决方案还不够 - 道歉不清楚):
APPPOOL "default app pool" (some long list of stuff, more entries here)
Run Code Online (Sandbox Code Playgroud)
变
APPPOOL "default app pool"
Run Code Online (Sandbox Code Playgroud) 我有一个文件,其中包含以下多个实例:
<password encrypted="True">271NFANCMnd8BFdERjHoAwEA7BTuX</password>
Run Code Online (Sandbox Code Playgroud)
但是对于每个实例,密码都是不同的.
我想输出删除encyrpted密码:
<password encrypted="True"></password>
Run Code Online (Sandbox Code Playgroud)
使用PowerShell循环遍历文件中所有模式实例并输出到新文件的最佳方法是什么?
就像是:
gc file1.txt | (regex here) > new_file.txt
Run Code Online (Sandbox Code Playgroud)
其中(正则表达式)是这样的:
s/"True">.*<\/pass//
Run Code Online (Sandbox Code Playgroud)