Articles of PowerShell

使用Powershell来运行提升的可执行文件

我有一个.exe需要通过GPO运行。 我试图通过一个批处理脚本,但是它需要在用户机器上运行,这需要提升,因为它们不是本地pipe理员。 而不是触摸每台机器来设置本地pipe理员,并使GPO运行。 我想设置PowerShell脚本来启动一个提升的会话,无论是PS或CMD都无所谓。 大拦截器是检测每台机器的主机名,所以我可以使用: New-PSSession hostname -Auth CredSSP -cred domain\adminuser 我想到了让它检测IP地址,然后为用户做DNS查询的想法,但除了这个问题之外,我想这是远远超过必要的工作。 我试图在这里研究类似的问题,但我无法find类似的情况与上面的阻止者。 batch file: @echo off if exist "C:\Program Files\directorypath\service.*" goto END if exist "C:\Program Files (x86)\directorypath\service.*" goto END "\\SERVER\FOLDER\installer.exe" –mode unattended :END 使用runas似乎不适合这个问题。 而且我宁愿避免将我的密码或通用pipe理员密码放在纯文本文件中。

Azure RM NSG端口转发不起作用

我有一个Debian 6.x框,我需要移动到Azure。 在移动之前,我确定SSH在任何端口上都在监听,Apache也一样。 我的NSG拥有所有正确的端口(现在是22,443)。 我上传了VHD,然后使用了下面的PowerShell命令来创build基于VHD的VM: $vnet = get-AzureRmVirtualNetwork -Name $VnetName -ResourceGroupName $VnetRG $subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name "$SubnetName" -VirtualNetwork $vnet $pip = Get-AzureRmPublicIpAddress -Name "$pipName" -ResourceGroupName $resourceGroupName $NSG = Get-AzureRmNetworkSecurityGroup -Name "$NSGName" -ResourceGroupName $resourceGroupName $nic = New-AzureRmNetworkInterface -ResourceGroupName $resourceGroupName -Name $nicName -Subnet $subnet -Location $location -PrivateIpAddress $newVMIP -DnsServer $dnsServer1,$dnsServer2 -PublicIpAddress $pip -NetworkSecurityGroup $NSG $newVM = New-AzureRmVMConfig […]

确定Office 365密码是否需要更改

如何确定Office 365 / Azure Active Directory用户帐户的密码是否当前过期/需要更改?

如何通过SSH连接到Windows Nano服务器?

我想在Linux主机的Virtualbox虚拟机中运行Nano Server,但似乎Nano Server只接受通过WinRM使用PowerShell的访问。 我宁愿find一种通过ssh访问的方式,因为在其他Windows中可以将这个机器的任务合并到我的自动化环境中。 我怎样才能通过SSH访问Nano服务器? 有一个聪明的解决方法?

Powershell Get-WMIObject失败,出现“无效的类”错误

尝试在Hyper-V中获取虚拟机的VLAN ID以下命令从Power Shell运行时会引发“无效的类”错误: Get-WmiObject -Class Msvm_VLANEndpointSettingData – 命名空间“root \ virtualization”-ComputerName“。” 什么是正确的命名空间使用?

PowerShell和AD显示不同的用户到期date

运行后: Set-ADUser username -AccountExpirationDate "05/18/2017 7:00:00 PM" Get-ADUser username -Properties AccountExpirationDate 我在PowerShell中得到这个:AccountExpirationDate:2017/5/18 7:00:00 PM 但用户属性显示该帐户在2017年5月17日到期。 这是什么原因? PowerShell输出 AD属性设置

运行PowerShell脚本来备份DNS区域时出错

我有这个脚本,我试图运行,我希望将备份DNS区域。 我正尝试使用export-csv powershell cmdlet将此信息导出到csv文件中。 最后,我使用dnscmd.exe命令将区域信息导出到文本文件中并将其存储在定义的位置。 # Get Name of the server with env variable $DNSSERVER=get-content env:computername #—Define folder where to store backup —–# $BkfFolder=”c:\windows\system32\dns\backup” #—Define file name where to store Dns Settings $StrFile=Join-Path $BkfFolder “input.csv” #—-Check if folder exists. if exists, delete contents–# if (-not(test-path $BkfFolder)) { new-item $BkfFolder -Type Directory | Out-Null } else […]

如何使用PowerShell获取Tomcat的日志path?

我有许多运行各种版本Tomcat 8的Windows服务器,而且我需要能够在PowerShell脚本中获取Tomcat日志path,以便使用此脚本执行pipe理function。 据称Tomcat提供了一个包含这些信息的日志API ,但是我还没有成功地用PowerShell访问它(并且怀疑这远远不是获得我想要的最简单的方法)。 但是,我注意到,至less对于我的Tomcat服务器,日志path是应用程序安装path的子文件夹,例如: C:\Program Files\Apache Software Foundation\Tomcat 8.0\logs 那么,如何以编程方式从PowerShell脚本获取此日志path?

在大型组织AD中recursion列出用户

我有一个recursion列出组成员的脚本。 问题是有超过5K,所以我不能使用Get-ADGroupMember,我也只需要获得启用用户。 UAC,尽pipe微软的文档,不只显示启用用户。 我有这个,但不过滤启用。 Function Get-MyLargeGroup { [cmdletbinding()] Param( [Parameter(Position=0,ValueFromPipeline,ValueFromPipelineByPropertyName)] [ValidateNotNullorEmpty()] [string]$Name) Begin { Write-Verbose "Starting $($MyInvocation.MyCommand)" } #begin Process { Write-Verbose "Retrieving members from $Name" $mygroup = Get-ADGroup -Identity $Name -Properties Members foreach ($member in $mygroup.members) { $object = $member | Get-ADObject -Properties samaccountname,enabled if ($object.ObjectClass -eq 'Group') { Write-Verbose "Found nested group $($object.distinguishedname)" […]

除了Powershell之外,Regex可以在任何地方使用(尝试regex101和regstorm.net)

我已经尝试了各种不同的组合,已经检查了其他类似的post,但找不到我的答案。 我有一个.config文件,当我执行search时,我需要从文件中排除注释,如下所示: (Get-Content C:\Path\File.config -Raw) | Select-String '(<!–((?!–>)(.|\n))*–>)' -AllMatches 我也尝试了下面的正则expression式: (?smi)^\<!–.*?–\>? 这两个工作在regex101和regex.net上,但对Powershell完全不起作用。 这是我的.config文件的外观: Test <!–<add name= /> <add name= /> <add name= />–> <add name= /> <!–<add name= /> <add name= />–> Test Test 我已经确定我正在使用我的获取内容 – 也尝试了外串。 除了powershell之外,这些正则expression式都可以工作。 你的帮助是适当的赞赏