在bash中,可以使用符号(&)在后台运行命令,并在命令完成运行之前将交互控件返回给用户。是否有在Powershell中执行此操作的等效方法
bash中的用法示例:
sleep 30 &
我已经在PowerShell v1.0中成功地使用了这里描述的解决方案。在PowerShell v2.0中肯定会更容易
ps2> start-job {start-sleep 20}
我还没有弄明白如何实时获取stdout,启动作业要求您使用get job轮询stdout
更新:我无法开始工
我正在尝试使用CSV文件、PowerShell和Quest的AD cmdlet将用户导入AD。添加用户时,不会添加UserPrincipleName
以下是CSV示例:
FirstName、LastName、DisplayName、SamAccount、UserPrincipleName、Email
FirstA,LastA,First-Last,FLastAL.ou1,FLastAL。ou1@clients.domain.local,FLastA@outemail.com
First2A,La
PowerShell脚本是否在Mono下运行?
我想在Mac上运行它们。有一个开源版本的PowerShell,名为Pash,专为Mono设计。它不完整,但可能能够满足您的需要:
(这个项目已经有一段时间没有活动了)
在GitHub上的:处签出重新启动。powershell.exe存根实际上是本机win32程序,而不是托管程序集。将来可能会在Mono中托管System.Management.Automation程序集,但我相当确定它目前不起作用。Powershell现在已经开源并可用
到目前为止,
我有以下脚本,但出现错误-
脚本-
$CNAMES = Get-Content "C:\Temp\alias.txt"
$Query = "Select * from MicrosoftDNS_CNAMEType"
$Record = Get-WmiObject -Namespace "root\microsoftdns" -Query $Query -ComputerName 10.10.10.1 | Where-Object{$_.Ownername -match $CNAME}
Forea
我喜欢使用以下代码来模拟Unix“查找”行为:
ls DIRECTORY -recurse -include PATTERN | foreach { "$_" }
事实上,我还想将这个|foreach{“$”}附加到其他几个命令中。所以我在想办法让它更容易打字。我试过这样的东西:
function xfind {
ls $args | foreach { "$_" }
}
然后我这样调用它:
xfind DIRECTORY -recurse -include PATTERN
但这似
我正在尝试通过powershell在网络上的每台计算机上运行此命令
我遇到了一个问题,临时互联网文件,提供了太多的误报
有人能提出一种改进此命令的方法吗
dir C:\Users\ /S /B | findstr /i "".t.st."" > "C:\test.txt"
一个建议是
dir C:\Users\ /S /B | findstr /i "".t.st."" > "C:\test.txt"
dir C:\Users\ /S /B | findstr /i "".t.st
我已经安装并设置了NLB。我得到的接口数据如下:
Get-NlbClusterNodeNetworkInterface
InterfaceName : quanet
NlbBound : False
Cluster :
DhcpEnabled : False
InterfaceIP : 10.165.250.206
InterfaceSubnetMask : 255.25
我正在尝试从文件中提取一个字段,并将提取的字段写入一个新文件,有人能帮我吗。我有如下文件中的数据
"","Processed","XXXXXX XX XXXX XXXX","Import","hgjgf XXXXXXXXXXX LTD","XXX","sss,ggg.00","0x/xx/xxxx","Xrrrr XXXXXXXX","","XTH asdf XX XXXXXX
XXX000XXX
XXXXXX XXX OCEAN
最近,我不得不运行一个命令,不幸的是,该命令要求我在命令行上键入密码
之后,我用“Clear”(清除)清除了屏幕,但还想清除命令历史记录,以便不在会话历史记录中显示有问题的命令。不幸的是,cmdlet似乎并没有真正做到它的文档所宣称的——运行Clear History似乎对会话历史没有任何影响
我仍然可以在弹出的历史菜单中看到以前的命令,并通过按up键滚动浏览旧命令。下面是一个屏幕抓图,演示了这个问题:
我已经用清晰的历史记录验证了是否确实正在执行预期的内置PowerShell cmdlet
我需要一些关于以下脚本输出的帮助,这样输出就不会用省略号(…)显示。
我试图插入| Format Table-Wrap-AutoSize,但似乎无法正确执行
clear-host Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
$services = new-object system.collections.sortedlist
$servers = (get-spfarm).s
按目前的情况编写代码
get-childitem c:\pstbak\*.* -include *.pst | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-3)} |
基本上,我想做的是得到一个列表,上面的文件夹中的所有PST文件的基础上,他们是新的超过3天。然后我想数一数结果。上面的代码没有错误,但返回的结果为零(文件夹中肯定有PST文件更新了三天。有人知道吗?试试这个:
(Get-ChildItem -Path c:\ps
当我运行下面的代码时,我得到了一个型号错误,其中标题没有显示,还有一件事是我无法按顺序获得所有三个
$arrComputers = get-Content -Path "C:\Desktop\Computers.txt"
$e=$arrComputers | ForEach-Object {Get-WMIObject -Class Win32_BIOS -ComputerName $_ } |Select PSComputerName, Version,Manufacturer,Stat
现在我的语法问题已经解决了(请不要看缺少的下划线,这是网站上的一个问题),我很难用经理(组或用户)的“显示名称”填充“ManagedBy”字段。出于这样或那样的原因,我的if/else逻辑并不可靠,因为它只返回blancs
$When = ((Get-Date).AddDays(-21)).Date
Get-ADGroup -SearchBase "OU=Groups,OU=BEL,OU=EU,DC=domain,DC=net" -Filter {whenCreated -ge
$When}
我有File1.ps1,它需要并行调用File2.ps1和File3.ps1,它们必须在不同的窗口中打开。你知道我该如何做到这一点吗
启动进程和其他命令似乎不起作用。尝试设置要执行的每个文件,同时启动计划任务。我对它进行了测试,发现这两个窗口同时出现并执行
$filePath = "C:\path\to\files"
$fileList = ".\File2.ps1", ".\File3.ps1"
$startTime = (get-date).AddMinutes(1)
foreach ($
我有一个我正试图浏览的工作站点
用这个做的
$login = Invoke-WebRequest -Uri 'http://www.privateworksite.com' -SessionVariable GetIP
$form = $login.Forms[0]
$Form.Fields['ctl00$ContentPlaceHolder1$RadTextBox7']= "*******" <-- User ID goes here
$Form.Fields['ctl00$Conte
如何将下面导出的文本转换为csv,以便将其用作powershell中的对象。例如:
where{$_.qlimit -eq 27}
正文:
使用cmdlet加载文件,用逗号替换两个或多个空格,并使用cmdlet将其转换为CSV:
如果现在查询对象:
$object | where qlimit -eq 27
您将获得所需的输出:
samid qlimit qused
----- ------ -----
admin 27 8
ConvertFrom字符串的另一种方式(文件中
Powershell第4版。Windows 7
我想用文本文件中的新行替换,。我试过下面的脚本
(Get-Content C:\Test\test.txt).Replace(',','`n') | Set-Content C:\Test\testv2.txt
但是当我看到输出文件时,我看到的是,被替换为'n'而不是新行
我也尝试了双引号而不是单引号
Replace(',',"`n")
这对我有用
(Get-Content C:\Test\Test.txt) -replace ',',"`n"
我有一个脚本,在没有工具栏的情况下打开IE并导航到url(如下所示)
我需要让窗口显示为这样的原因,
我不能使用信息亭模式
我需要做的是:
运行脚本(LaunchIE_noToolbar.vbs)
打开IE,隐藏工具栏,转到url
在后台等待,用户可能会在10-15分钟后进行操作
确认它已关闭并退出脚本
这似乎很简单,但我无法解决,等待的部分快把我逼疯了
如果你能在PowerShell中这样做,那也太好了,我不介意。我现在不在电脑前,但我记得
我想你可以开始一个过程,也就是开始一个过程。获取
有没有一种方法可以将函数连接到进度条对象
$buttonAdd_Click = {
create
$loadingbar.Refresh
}
这是我的按钮对象。变量“$loadingbar”是我的进度条对象
这是我的创建函数:
function create()
{
$wshell = New-Object -ComObject Wscript.Shell
$UserList = Import-Csv -Path $txt_csv.Text -Delimite
我对Powershell并不陌生,但我自己对在Powershell中制作脚本是陌生的
我必须制作一个简单的脚本,记录所有工作中的员工和他们的一些信息,然后输出一个包含这些信息的CSV文件。但是当我运行下面的代码时,什么也没有发生。ISE只是执行这个过程,一秒钟过去,它就完成了。然后不创建CSV文件
PROCESS {
$path = Split-Path -parent "C:\Users\omitted\Desktop"
$pathexist = Test-Path -Path
我正在尝试使用PowerShell转换为HTML
if($FileLine){
$frag1 = $FileLine | Sort-Object Name | ConvertTo-Html -Fragment -Property Name,Action -PreContent “<h3>Group Sync : $gcount change(s)</h3>” | Out-String
}else{
$frag1 = "<h3>Group Sy
我正在使用TFS作为项目的源代码和构建。成功构建后,我希望使用powershell或任何TFS任务自动标记构建。之后,我想使用相同的标记在特定环境中进行部署。您可以指导我如何使用它吗?假设您使用的是VNext build,您可以在构建过程中使用添加标记,然后设置CD发行版以部署标记的工件
PowerShell示例:
您可以按照以下步骤执行此操作:
创建PowerShell脚本并签入服务器,请参见上面的示例
创建生成定义并添加PowerShell任务作为结束任务
选择要运行的PowerShell脚
我正在创建一个函数,有时它会返回一个空数组,因为没有结果。在某些情况下,此功能可能需要使用Invoke命令运行,例如在远程PC上运行等
但我发现,当我的函数在带有脚本块的Invoke命令下运行时,它不能返回空数组,只能返回null
所以我试着发现,Invoke命令似乎无法返回空数组,即使我显式地这样做
对于exmaple:
> $foo = @()
> $foo.GetType()
IsPublic IsSerial Name
到目前为止,我已经有了查找文件的脚本,比如“*ver1.0*”,它工作得很好
$files = Get-ChildItem "D:\path\" | where {($_ -like "*$version*.sql")}
文件列表:
file_ver1.0_xx.sql
file_ver1.0_xy.sql
但是现在我需要找到看起来像以前或者比以前更新的文件
例如,我需要查找模式为:*ver1.0*或*ver0.9*的文件,其LastWriteTime比任何*ver1.0*文件都要新。我知道这
这个标题真的很流行
当设置用于Azure Active Directory的计算机时,我们会让它进行初始设置和配置。这包括首次登录并加入Azure Active Directory。登录时,它会强制您选择验证方法。为了方便,我们会使用台式电话或手机
现在是我们更新第二因素电话号码的时候了。我知道有一种方法可以通过Azure AD Web UI手动完成,但我正在寻找一种脚本化的方法来在PowerShell中设置该数字
Get-msoluser -UserPrincipalName "email@e
我为它创建了一个PowerShell模块MyUtil.psm1和一个清单文件MyUtil.psd1。在psd1文件中,定义了前缀以防止导出函数的名称冲突:
DefaultCommandPrefix = 'MyToolbox'
这样,在运行导入模块之后。\MyUtil.psd1,psm1文件中类似于Get Command的函数将是Get MyToolboxCommand,一切正常。但是如果有人运行导入模块。\MyUtil.psm1直接导入psm1文件,则不会使用psd1文件,也不会应用我想要的前
如何从Azure中ARM订阅的自动化帐户中的Runbook中运行的Azure Powershell重新启动AppService
我认为方法是:
Restart-AzureWebsite -Name "your-appservice-name"
但这会得到:
Restart-AzureWebsite : No default subscription has been designated.
Use select-AzureSubscription -Default #<subscript
如何使用PowerShell将目录设置到以下位置
W:\B&M\Store Segmentation\Pete\Python
我尝试使用:
PS > Set-Location -Path W:\B"&"M\Store Segmentation\Pete\Python
使用“双引号或”撇号,如下所示:
Set-Location -Path "W:\B&M\Store Segmentation\Pete\Python"
或
阅读说明。使用“或”完全是一个更好的主意
我正在编写一个powershell脚本来获取目录的大小
(get-childitem <path> -recurse | measure-object -property length -sum).sum/1MB
(获取子项-递归|度量对象-属性长度-总和)。总和/1MB
现在,我希望文件夹的“大小”和“磁盘大小”都显示为输出,请尝试以下操作:
GCI <Path> -Recurse | Group-Object -Property Directory | % {Ne
我试图从Cmd执行powershell脚本
C:\powershell C:\Powershell_Scripts\CheckWebSiteExists.ps1
Error : Get-Content : Cannot find path '\\XXXX\China-team\Release
Package\CustomerDB_file\CustomerDB.txt' because it does not
exist.
Powershell脚本:
$test = (Get-Content
我正在尝试编写一个PowerShell脚本,该脚本将启用TCP/IP和命名管道服务器协议,但我的服务器找不到它们。这是我用来连接协议的代码
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")
$wmi = new-object ('Micros
这应该是一个简单的问题。我需要递归运行Get ChildItem以在以下文件夹结构中查找.jpgs:
'D:\Images\' + $local:YM + '\' + $local:YMD + '\' + $env:USERNAME
用户名文件夹包含JPG和其他包含JPG的文件夹。我希望递归Get Childitem在username文件夹的子文件夹中寻址JPG,但跳过username文件夹本身中的JPG
例如,我希望Get Childitem能够解决:
'D:\Images\2018_03\
我正在编写一个简单的脚本windows powershell来发送自动电子邮件。计算机将随时运行,收集数据,然后定期发送电子邮件。发送电子邮件的一部分显然是收集凭据,而且由于它是自动的,我们不能每次都有人在那里输入用户和密码。显而易见的解决方案是只在脚本中的$user和$pass变量中存储信息,但这对我来说似乎非常不安全,而且容易受到攻击。有没有更好的办法?也许只需使用用户地址设置一次安全电子邮件连接,而不必再次输入?我是powershell的新手,所以我不太清楚最好的方法。目前我正在做的是:
我正在尝试将配置文件递归添加到以下路径:C:\Users*\AppData\Roaming\
以下是我目前的代码:
#Sets config file as source.
$Source = "$dirFiles\NewAgentAP\AgentAP.cfg"
#Recursive copying of a file to specific folder destination.
$Destination = 'C:\Users\*\AppData\Roaming\Trio\Trio Ent
我有一个简单的脚本:
$ErrorActionPreference = "Stop"
try
{
cmd /c mklink a .\DataSvc.sln
}
catch
{
"Failed"
}
存在文件DataSvc.sln
当我在ISE powershell控制台中运行它时,它打印失败,当我在常规powershell控制台中运行它时,它输出您没有足够的权限执行此操作:
ISE:
常规:
我应该如何编写它,使它在两种情况下都打印失败
编辑1
在Windows
在使用帮助台时,用户经常会遇到证书错误,可以通过运行可执行文件并通过IE内容选项卡中的“清除SSL状态”按钮清除SSL状态来修复这些错误
我正在创建一个PowerShell脚本,该脚本将在用户计算机上远程执行这些任务。是否有PowerShell命令可以完成此按钮在IE上执行的相同任务
我很难找到SSL缓存的实际存储位置。如果我能找出此按钮执行的功能,那么我可能可以在Powershell中重新创建它们。可以在此处找到答案:
我相信这是一个过程
也使用
invoke-command -compute
我正试图找出如何在将文件从源位置移动到目标位置时执行ForEach
我已经厌倦了以下代码,但无法使其正常工作:(
For Each在您的情况下并不理想,因为您需要源数组和目标数组中的值。假设两个数组的长度相同,您可以使用For循环,例如:
$SrcLocations = @('Src1','Src2','Src3')
$DestLocations = @('dest1','dest2','dest3')
For($i = 0; $i -lt $SrcLocations.Count; $i++
我正在尝试为我正在编写的电源外壳模块创建备忘单。我正在使用自定义帮助消息,您可以将其添加到powershell模块中的函数中。然后调用每个方法的Get帮助,然后选择一些特定的输出并将其格式化为表。我一直在尝试获取原始数据,您可以使用“获取帮助”功能绑定这些数据
电源外壳模块示例
# example_psmod_psm1
#this is a test
function commitWithMessage() {
<#
.SYNOPSIS
git commit --verbose --me
所以我有一个powershell脚本,我想请求社区的帮助。我不得不说,我并不总是最善于表达我想做的事情,部分原因是我没有编程经验,所以请容忍我,如果我用不正确的词来解释我的意思,请提问/纠正我
话虽如此,我想做的是:
增加服务和启动类型时:
停止服务器X上的服务A($services)($rebootingServer)
在服务器X上禁用服务A($services)($rebootingServer)
给定:我们知道在脚本运行之前,服务器Y上禁用了服务A
基于文本文件列表$startupty
我有一个Powershell脚本,可以从单个CSV文件中整齐地删除前15行
$import = get-content c:\temp\test.csv
$import | Select-Object -Skip 15 | Set-Content c:\temp\test2.csv
我想通过一个文件夹中的多个CSV文件来循环这个过程。我不太明白怎么做 可选-NumberOfLines参数,默认为15
可选-Verbose参数将输出修改过的文件
function Remove-CSVLines
当我的脚本运行时,我读取一个散列,我想将它写入注册表。
我发现下面的命令可以做到这一点:
New-ItemProperty $RegPath -Name $AttrName -PropertyType Binary -Value $byteArray
我还找到了
但是,所有答案都假设字符串的形式为:
"50,33,01,00,00,00,00,00,...."
但我只能读取以下格式的哈希:
"F5442930B1778ED31A....."
我不知道如何将其转换为值为F5、44等的字节数
我有一堆XLS文件。打开文件时,我得到提示:格式和扩展名不匹配
后来,我发现这是一个旧的基于XML的XLS文件。由于这个原因,我无法直接将这些文件导入R或SAS
我尝试打开一个并使用另存为以R和SAS支持的任何格式保存文件,如XLSX或CSV等
问题是有数百个文件,无法逐个打开和保存
我可以将任何流程整合到PowerShell流程中,这都是非常棒的。尝试以下PowerShell解决方案:
$Excel = New-Object -Com Excel.Application
foreach ($
我一直在编写一个交给我的Powershell脚本。以前从未处理过powershell scritps,我有很多东西要学。到目前为止,我一直在使用VisualStudio代码来运行/调试它。它一直工作得很好,但是,我遇到了一个问题,在一个特定的领域,处理多线程。我无法在特定断点上暂停Powershell脚本
在查看了过去几天的所有内容后,似乎可以在VisualStudio中处理线程。我下载了Visual Studio Community 2019,并尝试安装该套件。据软件包管理器称,它已安装,没有
很多人都曾问过“如何在Powershell中获取脚本本身的路径?”这个问题,并得到了多种不同的答案。然而,在我的情况下,我有一些实用程序函数存储在脚本旁边的一个公共模块中,但我实际上并没有从该特定目录运行脚本,而是将脚本符号链接到$HOME\bin,我在PATH中有。我不想将所有实用程序库符号链接到$HOME\bin目录中
考虑到用户实际运行的脚本(即在路径中找到的脚本)可能是符号链接,我如何在Powershell中获取“真实”脚本路径的路径?这有点笨重,但使用通用的$PSCommandPath
您好,我编写的程序将从powershell gui创建用户,但我遇到问题:
有时并非所有字段都有值,并且它们都是空的,但当我尝试使用具有空值的参数创建用户时,我得到了一个错误
new-aduser server is unwilling to process the request
我可以为每个字段使用许多if-else块,但我认为这不是一个好的解决方案。请帮助我用空参数传递create user
New-ADUser -AccountPassword (ConvertTo-Secur
我有一个数组,其中包含需要替换名称的文本列表。
例如:星期一、星期二、星期三是从test.txt文件调用数组中的文本
我想将它们分别重命名为周一1111、周二1111、周三1111。
下面是我的powershell脚本
$Web = Get-SPWeb "https://test.com"
$DocLib = $Web.Lists["Documents"]
$filename = @(Get-Content F:\ish\test.tx
我正在尝试编写脚本,将扩展名为.txt的文件内容复制到一个。脚本正在工作,但-recurse不工作。(它不会复制子文件夹中的文件),我不知道为什么会这样。我的脚本是这样的:
function UnifyConfigs {
param (
$destination = "C:\temp\all.txt",
[Parameter()]
$files
)
foreach ($config in $
下面是一个包含jpg的文件夹,将文件名替换为nnnZ.jpg,如果图像是横向的,则跳过一个数字
我在上看到了示例,看起来if语句或条件($w-gt$h)的语法没有问题,但是每次都会执行“then”,即使文件夹中只有一个图像是纵向的。$w和$h的值是正确的(根据echo),所以我不明白出了什么问题
编辑:或者这些值实际上是字符串,这就是%s的意思吗
Get-ChildItem | foreach {
$w=$(magick identify -format '%w' $_)
$h=$(ma
我正在PowerShell中编写我的第一个子表单。当我编写代码时,一切都会完美地启动。当我通过窗口中的x关闭子窗体,然后重新打开它时,我收到错误:
异常设置“可见”:“无法访问已处置的对象”。
对象名称:“表单”
第5行字符:5
$ExampleForm.visible=$true
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:NotSpecified:(:)[],SetValueInvocationException
+FullyQualifiedErr
已设置“将更改附加到现有文本”的Sharepoint Notes字段。不要以直接项[fieldname]的方式显示值。
基于此,
我想读一个名为“AppendOnlyHistory”的属性。
我找不到使用Powershell或rest调用阅读它的方法。
有人知道怎么得到它吗
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 1231 页