我试图使用Powershell从主机名获取ipaddress,但我真的无法弄清楚如何.
有帮助吗?
$cars = "bmw","audi","volvo","vw"
echo $cars.length
Run Code Online (Sandbox Code Playgroud)
返回4,但是
$cars = "bmw"
Run Code Online (Sandbox Code Playgroud)
返回3因为它计算字符..
如果数组只包含一个项目,有没有办法可以返回1?
我已经尝试将以下内容包含在if语句中,这样如果成功,我可以执行另一个命令:
Get-WmiObject -Class Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'" | Foreach-Object {
$Localdrives += $_.Path
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚该怎么做.我甚至尝试创建一个函数,但我无法弄清楚如何检查函数是否已成功完成.
我想从脚本A调用脚本B而不指定完整路径.我试过了
.\scriptb.ps1
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我真的必须指定整个路径吗?
(对不起这个非常基本的问题,但谷歌无法帮助我!)
我把我的函数放在一个单独的文件中,然后调用该文件:
$workingdir = Split-Path $MyInvocation.MyCommand.Path -Parent
. "$workingdir\serverscan-functions.ps1"
Run Code Online (Sandbox Code Playgroud)
但是,如果我把脚本称为
my-function
Run Code Online (Sandbox Code Playgroud)
变量范围(来自"my-function")将如何?我还应该使用$ script:变量来使变量存在于函数外部还是我也可以点源函数?
希望我不要把任何人与我的问题混淆......我试图让它尽可能地理解,但仍然学习所有的基本概念,所以我觉得很难解释..
我有一个大脚本,我现在正在使用函数进行清理.但是,我发现将它们放在脚本的顶部会变得有点混乱.我必须滚动过去几百行代码才能进入脚本本身..
你们怎么保持脚本整洁?你的功能是否在一个单独的文件中?
我想计算我的脚本运行的时间,但是get-date的结果是以秒为单位.
如何将此转换为31:14:12 behing hours:minutes:seconds?
我想为我的powershell脚本提供一个Web前端,以获得帮助台.
这些脚本通常是用户创建脚本和脚本,用于重新启动特定服务器上的特定服务.
我应该从哪里开始?我需要什么?
如果需要,我可以为此目的设置IIS.我们在专用服务器上也有Sharepoint.
希望有一些启动技巧:)
我想对后台作业(以开头start-job
)进行计时,并在x
几秒钟后将其超时。但是,我很难跟踪每个单独作业的运行时间(我正在运行aprox 400作业)。
我希望有一种方法来超时工作,并将其设置为failed
如果不是completed
在X秒,但我觉得没有超时参数。
什么是跟踪作业的各个运行时间的好方法?
我想我可以用每个作业的开始时间和作业ID创建一个哈希表,并对照running
状态进行检查并进行手动超时,但这听起来有点像“发明轮子”。有任何想法吗?
编辑 谢谢大家在这个主题上进行了富有成果的讨论和启发!
我正在使用一个函数,它创建了一些我想在函数处理后使用的变量.我试过直接访问它们但我不能.我该怎么做呢?
powershell ×10
function ×3
arrays ×1
asp-classic ×1
if-statement ×1
iis ×1
scope ×1
sharepoint ×1
start-job ×1
time ×1
timeout ×1
variables ×1
web-frontend ×1