小编EGr*_*EGr的帖子

如何使用powershell的读取主机功能来接受外部服务的密码?

我有一个脚本,我写的是连接到SOAP服务.建立连接后,我需要使用我发送的每个命令传入用户名/传递.我遇到的问题是,当我使用read-host执行此操作时,我的密码以明文形式显示并保留在shell中:

PS C:\Users\Egr> Read-Host "Enter Pass"
Enter Pass: MyPassword
MyPassword
Run Code Online (Sandbox Code Playgroud)

如果我使用-AsSecureString隐藏它,则该值不能再传递给服务,因为它现在是System.Security.SecureString对象:

PS C:\Users\gross> Read-Host "Enter Pass" -AsSecureString
Enter Pass: **********
System.Security.SecureString
Run Code Online (Sandbox Code Playgroud)

当我通过它时,它不起作用.我不关心以明文形式传递给服务的密码,我只是不希望它们在输入密码后粘在用户的shell上.是否可以隐藏Read-Host输入,但仍然将密码存储为明文?如果没有,有没有办法可以将System.Security.SecureString对象作为明文传递?

谢谢

powershell user-input securestring powershell-2.0

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

如何在VB脚本中逐行读取文件?

我有以下内容逐行读取文件:

wscript.echo "BEGIN"

filePath = WScript.Arguments(0)
filePath = "C:\Temp\vblist.txt"
Set ObjFso = CreateObject("Scripting.FileSystemObject")
Set ObjFile = ObjFso.OpenTextFile(filePath)
StrData = ObjFile.ReadLine
wscript.echo "END OF FIRST PART"

Do Until StrData = EOF(ObjFile.ReadLine)
    wscript.echo StrData
    StrData = ObjFile.ReadLine
Loop

wscript.echo "END"
Run Code Online (Sandbox Code Playgroud)

EOF()功能似乎不起作用:

C:\Users\EGr\Documents\Scripts\VB>cscript testloop.vbs ArgVal
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

BEGIN
END OF FIRST PART
C:\Users\EGr\Documents\Scripts\VB\testloop.vbs(11, 1) Microsoft VBScript runti
me error: Type mismatch: 'EOF'
Run Code Online (Sandbox Code Playgroud)

我以前没有在VB中编程,但是我想弄清楚循环,以便我可以修改我已经交过的VB脚本.我想逐行读取文件,并对每一行做一些事情.如果我将Do Until循环更改为Do Until StrData = EOF …

vbscript loops readfile

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

如何将默认凭据传递给PowerShell Web客户端对象?替代PS v2的Invoke-WebRequest?

我正在运行以下代码

$client = new-object System.Net.WebClient
$client.DownloadFile( $UriValue, "C:\Temp\BHRout.json" )
$json = Get-Content "C:\Temp\BHRout.json"
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它需要我的提示凭据传递到下载字符串函数.我用上面的代码替换了这个:

$NagiosResults = Invoke-WebRequest -Uri $Uri -UseDefaultCredentials | ConvertFrom-Json
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我运行脚本的服务器没有Powershell v3; 所以这也行不通.Invoke-WebRequestPowershell v2 有替代品吗?如果没有,有没有办法与System.Net.WebClient对象'使用默认凭据'?

powershell powershell-2.0 webclient-download powershell-3.0

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

有没有办法在PowerShell中使用WebClient对象监视下载的进度?

我正在使用如下简单的行下载文件:

$webclient = New-Object -TypeName System.Net.WebClient
$webclient.DownloadFile("https://www.example.com/file", "C:/Local/Path/file")
Run Code Online (Sandbox Code Playgroud)

问题是我想在下载时使用弹出窗口或使用shell中的进度条向用户显示消息.下载完成时是否可以使弹出框消失,或者监视下载进度的进度条是否可以?

powershell webclient powershell-2.0 webclient-download

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

是否可以在一个查询中执行多个SQL select语句?两个select语句都在同一个表中

这可能是由于我的SQL知识有限,但我试图使用如下语句获取数据:

SELECT hostname 
FROM mytable 
WHERE hostname NOT LIKE '%obl%' 
    AND group NOT IN ('group1','group2','group3','group4','group5','group6','group7')
    AND osname LIKE '%Windows%' 
    AND hostname NOT LIKE 'nic%'
Run Code Online (Sandbox Code Playgroud)

我意识到这可能是一个非常糟糕的陈述,但到目前为止它已经奏效了.在开始我排除主机名不像"obl"的条目.我有另一个这样的查询:

SELECT hostname 
FROM mytable 
WHERE hostname LIKE '%obl%' 
    AND group IN ('group9','group0')
Run Code Online (Sandbox Code Playgroud)

根据我的理解,在这种情况下不会使用连接,因为两个查询都在同一个表上(尽管我对连接的了解非常有限).我通过webservice访问这个数据库,我不确定它是什么类型的数据库.

有没有人对如何在一个查询中从两个查询中获取值有任何想法?

sql join

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

如何确定哪些驱动程序可用于php中的odbc(在Linux系统上)?

在PHP脚本中,看起来这是您连接到odbc数据库的方式:

$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道将什么用于“ Driver =“。我输入的内容是为我看到的另一个脚本提供的。在我的脚本中,我要做的就是尝试使用此行进行连接,但出现以下错误:

Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /srv/www/htdocs/site/test.php on line 8
Run Code Online (Sandbox Code Playgroud)

据我所知,我指定的驱动程序看起来不正确。我尝试连接的数据库是MSSQL数据库,我只打算从中查询信息。有没有办法列出系统上可用的数据库驱动程序?以前我从来没有安装/配置过任何这样的驱动程序(我从来没有做过类似的事情;我过去所做的所有php工作都在MySQL中完成)。另外,我不想将其他软件编译到我的系统上(如果可能);我希望从回购中安装所有软件包。

php linux odbc driver

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

使HTML表格足够宽以适应内容

我运行一个生成HTML页面的脚本,但是我无法正确格式化生成的表格.需要制作一个尽可能宽的桌子.目前,我必须指定一个特定的宽度(1500px),以便每个单元格的内容不会换行到下一行.这是一个例子:

With width set to 1500px:
+-----------------------------+------------------------------+
|Contents of my cell          | Contents of other cell       |
+-----------------------------+------------------------------+

With width set to 100%:
+-------------------+--------------------+
|Contents of my     |Contents of other   |
|cell               |cell                |
+-------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)

理想情况下,我的文本不会换行(例如,当宽度设置为1500px时),但不必设置静态表格宽度.有时,表格可能需要比1500更宽(或更小),所以我希望宽度尽可能地动态.

这是我目前正在使用的CSS:

<style type="text/css">
h1 {
    text-shadow: rgba(255, 255, 255, 0.796875) 0px 1px 0px;
    font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
    font-weight: normal;
    padding: 7px 7px 8px;
    text-align: left;
    line-height: 1.3em;
    font-size: 24px;
}
table {
    border: 1px solid #DFDFDF;
    background-color: #F9F9F9;-moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px; …
Run Code Online (Sandbox Code Playgroud)

html css width css3 css-tables

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

如何在不迭代整个数组的情况下比较两个数组,删除相似的项目?

是否可以比较两个数组并删除相等的值(如果它们在同一个索引处),而不迭代两个数组?这是一个例子:

$array1 = @(1,2,3,4,5,6,7,23,44)
$array2 = @(1,1,3,4,5,7,6,23,45)

$array3 = $sudo_compare_function $array1 $array2
Run Code Online (Sandbox Code Playgroud)

其中$array3现在将包含索引的阵列,其中$array2来自不同的$array1数组:

(1,5,6,8)
Run Code Online (Sandbox Code Playgroud)

如果没有这样的东西,有没有一种简单的方法来做类似的事情而不需要遍历两个数组?

arrays powershell compare find powershell-2.0

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

Powershell ISE在崩溃时存储标签的位置在哪里?

我的Powershell ISE在发布时崩溃了; 我相信这是由于ISE从错误退出返回时加载的选项卡/文件.因此,我目前无法启动ISE ..我正在寻找Powershell ISE存储当前打开的选项卡/文件的文件/位置,以便我可以删除它并使其无需加载任何内容即可启动.我可以作为另一个没有问题的用户启动它.

windows crash powershell powershell-ise

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

在Python中将其他时间值转换为datetime格式

我有一次显示为:

2012-11-12 15:16:08.648521
Run Code Online (Sandbox Code Playgroud)

另一个时间显示为:

14:44:02 Mon Nov 12 2012
Run Code Online (Sandbox Code Playgroud)

有没有办法将第二次格式转换为第一次格式的格式(例如,2012年11月12日星期一14:44:02成为2012-11-12 14:44:02.?????)?我需要比较第二个日期(从日志中提取)到另一个日期,以确认我收到了正确的文件.

python time compare module date

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