标签: powershell

从1 csv中删除另一个csv中的行

我在主机/计算机的列表list.csvhost name列.其中一些还没有登录,所以我想删除包含过期计算机记录的所有行.

我可以使用下面的代码获取域中所有未在90天内登录的计算机(ish),但是我想获取计算机列表并将它们进行比较list.csv,从而删除匹配的计算机list.csv.

我已经尝试了一段时间与其他文章Import-CSV等,但不能破解它.

import-module activedirectory  
$domain = "contoso.local"  
$DaysInactive = 90  
$time = (Get-Date).Adddays(-($DaysInactive)) 

# Get all AD computers with lastLogonTimestamp less than our time 
Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties     LastLogonTimeStamp | 

# Output hostname and lastLogonTimestamp into CSV 
select-object Name | export-csv "C:\users\bicard\Desktop\allComputerslistFromDomainLookup.csv" -notypeinformation
Run Code Online (Sandbox Code Playgroud)

powershell

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

使用Install-Package时跳过确认?

我已经ChocolateyGet在Powershell中添加了提供程序,因此我可以将它与PackageManagement(OneGet)一起使用,它可以工作,但我尝试安装的每个软件包都会发出警告:

https://www.chocolatey.org不是受信任的包源

然后要求确认.它还询问我是否同意该包的许可.

我想制作一个脚本来自动安装一些软件包,但是我需要这个脚本无人值守,现在不可能,因为它询问了前两个问题.

反正是否有规避/自动回复这些确认?像yyesLinux上的命令?

powershell package-management oneget

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

电源外壳; 从每个路径中删除其中包含多个路径的字符串中的最后一个'/'字符

我想从包含多个存储路径的字符串中删除最后的'/'字符,最好的方法是什么,我一直接近但我仍然无法得到我正在寻找的东西for,是一个循环真的唯一的方法吗?

$Paths = /some/path/1/ /some/path/2/ /some/path/3/
$Paths = $Paths.Remove($Paths.Length - 1)
$Index = $Paths.LastIndexOf('/')
$ID = $Paths.Substring($Index + 1)
Run Code Online (Sandbox Code Playgroud)

我目前收到如下错误:

Exception calling "Remove" with "1" argument(s): "Collection was of a fixed size."
Run Code Online (Sandbox Code Playgroud)

$ Paths的最终版本将是

/some/path/1 /some/path/2 /some/path/3
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,我想我可能有一个过程问题以及编码问题......

powershell

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

Powershell:|之间的差异 和>?

在PowerShell中,|和之间有什么区别>

dir | CLIP #move data to clipboard
dir > CLIP #not moving, creating file CLIP (no extension)
Run Code Online (Sandbox Code Playgroud)

我是否正确假设|将当前结果移动到管道中的下一个块并将>数据保存到文件中?

还有其他差异吗?

powershell

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

使用Powershell RM列出Azure App Service的实例

我的目标是在Azure中找到特定App Service的所有实例ID,这样我就可以编写一个预热例程并针对所有正在运行的实例(ARRAfinity)进行测试.

我可以使用ASM Powershell执行以下操作,但我需要在ARM(RM)中为其配置Octopus.

(Get-AzureWebsite -Name "site-name" -Slot "Production").Instances
Run Code Online (Sandbox Code Playgroud)

我找到了关于RM备用的文档,以下内容并没有让我有所帮助:

Get-AzureRmWebApp -Name "site-name"
Run Code Online (Sandbox Code Playgroud)

任何帮助都会非常有帮助.

powershell azure azure-web-sites octopus-deploy azure-resource-manager

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

PowerShell输出在功能之间交叉

我正在Windows 10的5.1版中编写PowerShell脚本,该脚本可获取有关本地系统(最终是其子网)的某些信息,并将其输出到文本文件中。首先,我将所有方面都集成到一个函数中。我在输出getUsersAndGroupsgetRunningProcesses函数时遇到输出问题,其中的输出getUsersAndGroups将注入到的输出中getRunningProcesses

这两个功能是:

    # Powershell script to get various properties and output to a text file

    Function getRunningProcesses()
    {
        # Running processes
        Write-Host "Running Processes:
    ------------ START PROCESS LIST ------------
        "
        Get-Process | Select-Object name,fileversion,productversion,company
        Write-Host "
    ------------- END PROCESS LIST -------------
    "
    }

    Function getUsersAndGroups()
    {
        # Get Users and Groups
        Write-Host "Users and Groups:"
        $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
        $adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
            $groups = $_.Groups() | …
Run Code Online (Sandbox Code Playgroud)

powershell

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

从日志文件中删除前N行的最有效方法

我已经为我正在运行的许多基本脚本启用了日志,我需要不时清除这些日志.

在PowerShell中从日志文件中删除前N行的最有效方法是什么?

powershell powershell-3.0

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

在.NET(或PowerShell)中将Base64字符串转换为字节数组

我正在和一个Linux工作人员一起工作(我在Windows上工作).他向我发送了一个base64字符串,我需要使用PowerShell将其转换为字节数组.这个字节数组需要复制他最初使用的字节(他正在使用Phyton).

所以基本上,他获取一些数据并将其转换为base64字符串,然后我需要取base64字符串并转换回字节,所以我们最终得到相同的字节.(后者我需要检查这些字节的签名摘要,现在不相关.)

因此,让我们说他发给我以下base64字符串:

U29tZSBEYXRh
Run Code Online (Sandbox Code Playgroud)

我做了以下事情

[byte[]][char[]]"U29tZSBEYXRh"

85
50
57
116
90
83
66
69
89
88
82
104
Run Code Online (Sandbox Code Playgroud)

但他说我的输出是字符串的ASCII代码表示而不是实际字节(他认为字节应该作为无意义返回到屏幕,例如不可打印的字符).

我是否获得了输入数据的真正字节数组?

.net arrays string powershell

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

使用ConvertTo-Json转换为JSON时保留数据类型名称

我正在尝试将我的SSIS目录环境导出到JSON文件(使用PowerShell).当我选择正确的列时,我将"String"和"Int16"视为Type的值: 在此输入图像描述 但是当我使用ConvertTo-Json转换为JSON时,它显示的是int值而不是字符串值: 在此输入图像描述 有什么建议?

在此输入图像描述

powershell json ssis

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

Add-MpPreference无法识别为名称

您好,我正在做一个小的脚本,它将使用来运行一个小的powershell Add-MpPreference。就我而言,我这样做是因为有时我想在Windows 10中包含一些路径,但是我必须手动执行。所以我试图使其自动化。我这样做:

ShellExecute("powershell", '-noexit Add-MpPreference -ExclusionPath C:/')
Run Code Online (Sandbox Code Playgroud)

错误返回是我:

The term 'Add-MpPreference' is not recognized as the name of a cmdlet, function
, script file, or operable program. Check the spelling of the name, or if a pat
h was included, verify that the path is correct and try again.
At line:1 char:17
+ Add-MpPreference <<<<  -ExclusionPath C:/
    + CategoryInfo          : ObjectNotFound: (Add-MpPreference:String) [], Co
   mmandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
Run Code Online (Sandbox Code Playgroud)

这是什么意思?还是可以解决?

powershell

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