小编Mik*_*e J的帖子

在Powershell中从URL获取域名

我想在这个场景中使用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

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

Powershell使用get-website的网站列表?

我在使用基本的PowerShell命令时遇到了一些麻烦.

如果我运行get-website(在启用webadministration snappin之后)并运行"%SystemRoot%\ system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ImportSystemModules",我会在IIS上看到10个左右的网站列表Server 2008 Standard上的7.0服务器(SP2,而不是R2).通过列出这些项目,它按预期工作:

  • 名称
  • ID
  • 物理路径
  • 绑定

但当我这样做时:

获取网站| export-csv C:\ my_list.csv

我使用"Microsoft.IIs.PowerShell.Framework.ConfigurationElement"而不是实际值获得更多项目.

当它导出为CSV时,它也会在没有事先(当输出在shell中时)时为绑定说"Microsoft.IIs.PowerShell.Framework.ConfigurationElement".

那里有点......

有没有办法我可以修改单行,所以我可以有一个没有"Microsoft.IIs.PowerShell.Framework.ConfigurationElement"的所有细节的网站列表?

iis powershell

14
推荐指数
1
解决办法
3万
查看次数

在所有打开的文件上使用VIM命令

我有一个使用此命令在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但没有任何运气.

有什么建议?

vi vim bash

10
推荐指数
1
解决办法
830
查看次数

Nagios时间段和通知期

我遇到麻烦让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点整夜看到了它们.

我从配置中了解到,在此期间我不应该收到任何电子邮件.

我忽略了什么吗?我希望它会如此简单,但它没有按预期工作.

nagios

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

无法使用域凭据从PowerShell连接到SQL Server

我有一个无法使用域凭据连接到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 …

sql-server powershell windows-security

4
推荐指数
1
解决办法
4万
查看次数

如何在PowerShell中创建MS Word文档并将段落/行间距设置为无?

我期待创建一个将生成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)

powershell ms-word

4
推荐指数
1
解决办法
1万
查看次数

Powershell - 只打印引号之间的文本?

如何让以下文本的输出仅显示引号中的文本(不带引号)?

示例文本”

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 的正则表达式,但我不确定。

powershell

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

VIM从行尾删除到字符?

我在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)

vim

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

如何使用PowerShell解析XML文件并在两个标记之间删除文本?

我有一个文件,其中包含以下多个实例:

<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)

regex powershell replace find

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

标签 统计

powershell ×6

vim ×2

bash ×1

find ×1

iis ×1

ms-word ×1

nagios ×1

regex ×1

replace ×1

sql-server ×1

vi ×1

windows-security ×1