我有一个脚本,我写的是连接到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对象作为明文传递?
谢谢
我有以下内容逐行读取文件:
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 …
我正在运行以下代码
$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-WebRequest
Powershell v2 有替代品吗?如果没有,有没有办法与System.Net.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中的进度条向用户显示消息.下载完成时是否可以使弹出框消失,或者监视下载进度的进度条是否可以?
这可能是由于我的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访问这个数据库,我不确定它是什么类型的数据库.
有没有人对如何在一个查询中从两个查询中获取值有任何想法?
在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中完成)。另外,我不想将其他软件编译到我的系统上(如果可能);我希望从回购中安装所有软件包。
我运行一个生成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) 是否可以比较两个数组并删除相等的值(如果它们在同一个索引处),而不迭代两个数组?这是一个例子:
$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)
如果没有这样的东西,有没有一种简单的方法来做类似的事情而不需要遍历两个数组?
我的Powershell ISE在发布时崩溃了; 我相信这是由于ISE从错误退出返回时加载的选项卡/文件.因此,我目前无法启动ISE ..我正在寻找Powershell ISE存储当前打开的选项卡/文件的文件/位置,以便我可以删除它并使其无需加载任何内容即可启动.我可以作为另一个没有问题的用户启动它.
我有一次显示为:
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.?????)?我需要比较第二个日期(从日志中提取)到另一个日期,以确认我收到了正确的文件.