Python中存在同样的问题:如何在Python中以编程方式获取Dropbox文件夹位置?或者在这里用于OSX:如何获取当前登录的Dropbox文件夹的位置
在Powershell中也是如此.我需要DropBox的路径来复制文件(构建软件然后将其复制到dropbox以与团队共享).
我正在开发一个应该删除命名列的PowerShell脚本.有没有办法不选择标题名为"xyz"的列?
我试图获取标题名称
$hnames = $csv | Get-Member -MemberType NoteProperty | foreach {$_.name}
Run Code Online (Sandbox Code Playgroud)
并将结果连接到逗号分隔的字符串并删除不需要的标头
$new = $hnames -join ","
$new = $new -replace "xyz,", ""
Run Code Online (Sandbox Code Playgroud)
并导入/导出CSV select
Import-CSV $tempfile -Delimiter ";" | Select $new |
Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -NoTypeInfo
Run Code Online (Sandbox Code Playgroud)
但它只输出CSV文件中的标题.
我试图在Azure环境中自动化工作流程.
我们有几个Web应用程序,连接到几个数据库.每个新客户都会收到一个新数据库.
我用连接线在脚本中遇到了麻烦.我希望脚本更新所有Web应用程序,并为新创建的客户数据库添加新的连接字符串.
问题是"Set-Azurermwebapp -Name -ResourceGroup -ConnectionStrings"采用哈希表来替换以前配置的任何数据.
我只想附加一个新的连接字符串,或者获取之前的configered cstrings并将它们添加到数组中,然后替换所有数据.
示例代码;
$test= @{"Type"="Custom"; "Value" = "TestValue"}
$Connectionstring=@{"test"=$test }
Set-AzureRmWebApp
-Name "testapp"
-ResourceGroupName "testgrp"
-ConnectionStrings $Connectionstring"
Run Code Online (Sandbox Code Playgroud)
这里有什么想法?
在VBScript中我可以做这样的事情
Set objDict = CreateObject("Scripting.Dictionary")
objDict.Add "item1", Array("data1", "data2")
objDict.Add "item2", Array("data3", "data4")
Run Code Online (Sandbox Code Playgroud)
然后我可以使用这样的东西进行查找
dataArray = objDict.Item("item2")
elem1 = dataArray(0)
elem2 = dataArray(1)
Run Code Online (Sandbox Code Playgroud)
结果包含"data3" elem1并elem2包含"data4"
我不确定如何在PowerShell中复制它.有人帮吗?
我想使用Powershell从Sharepoint库中仅提取所需的文件类型
我正在使用以下逻辑,但它无法正常工作.它仍然匹配文件名包含扩展类型,这是不好的.
请帮我纠正脚本.
$libfiles = ".pptx",".xlsx",".xls",".docx",".doc",".pdf",".jpeg",".jpg",".ppt",".xlsm",".gif",".png"
$libfilesregex = [string]::Join('|', $libfiles)
$arr = @("xlsfile.avi","asxlsxfile.mdf","navigation.css")
foreach($i in $arr)
{
if($i -match $libfilesregex)
{
Write-Host " $($i) File type exists "
}
else
{
Write-Host " $($i) File type does not exist "
}
}
Run Code Online (Sandbox Code Playgroud)
它正在输出:
xlsfile.avi文件类型不存在
asxlsxfile.mdf文件类型存在
navigation.css文件类型不存在
注意如何报告不存在,但asxlsxfile.mdf出乎意料的是.
谢谢Vishwa
我在PowerShell中有这个脚本.我想为每个用户从文件导入设置随机密码,我希望弹出cmd中的所有注释我想保存在其他txt文件中.我该怎么做?
#
# Description: Enable accounts, reset passwords and set change password option at first logon.
#
Import-Module ActiveDirectory
# Set default password "XXX"
$password = ConvertTo-SecureString -AsPlainText “XXX” -Force
# get account list from UserList.txt
# 1 user per line
$users = Get-Content -Path 'G:\Shares\XXX\ResetPassword\UserList.txt'
ForEach ($user in $users)
{
# Set default password for account
Get-ADUser $user | Set-ADAccountPassword -NewPassword $password -Reset
# Set option to change password at first logon
Get-ADUser $user | Set-AdUser -ChangePasswordAtLogon $true
# …Run Code Online (Sandbox Code Playgroud) 我写了一个简单的PowerShell脚本来备份目录C:\,然后在其年龄= X天时删除任何备份文件夹.
出于某种原因,当我使用Remove-Itemcmdlet时,我遇到了Remove-Item: Cannot find path 'C:\Windows\system32\ [Sub-Folder name]' because it does not exist错误.
以下是片段:
$TargetFolder = "C:\Folder\"
$Folders = get-childitem -path $TargetFolder
foreach ($Folder in $Folders)
{
remove-item $Folder -recurse -force
}
Run Code Online (Sandbox Code Playgroud)
在其中$TargetFolder = "C:\Folder\",有几个子文件夹.例如:C:\Folder\SubfolderA,C:\Folder\SubfolderB,等.
当我做Write-Host了$Folder它列出SubFolderA,SubFolderB等等,正确的,所以我不知道是什么原因,我得到一个Cannot find path错误.
我正在使用表达式来验证Active Directory用户名.我这样做是通过创建一个否定的字符类并告诉它寻找任何不是"/\[]:; | =,+*?<>的东西.问题是当我使用-match操作符时它会匹配字符在技术上有效,如n或i,但我希望表达式失败,因为它也包含类似的东西!
'!nv,@l|d?' -match '[^"/\\\[\]:;|=,+\*\?<>!]+'
Run Code Online (Sandbox Code Playgroud) 所以我有这个简单的function返回我当前的脚本位置:
function Get-CurrentDir
{
$MyInvocation.MyCommand.Path
}
Run Code Online (Sandbox Code Playgroud)
我想打印这个,所以我在功能声明后尝试使用PowerShell ISE:
Write-Host $(Get-CurrentDir)
Write-Host (Get-CurrentDir)
Write-Host Get-CurrentDir
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
Write-Host $(Get-CurrentDir) --> Write-Host $(Get-CurrentDir)
Write-Host (Get-CurrentDir) --> Write-Host (Get-CurrentDir)
Write-Host Get-CurrentDir --> Write-Host Get-CurrentDir
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
我有一个场景,由于Oracle数据库,每个星期一早上都有一个进程被卡住,所以我尝试创建一个PowerShell脚本来运行每个星期一,但无论是否收到错误,该过程仍然存在.
我试图用来"杀死"的那条线是:
Get-Process -Name ez0* -ComputerName $server | Stop-Process -Force
Run Code Online (Sandbox Code Playgroud)
尝试在本地做这个没有-ComputerName.
我没有从这条线上得到任何错误,无论-Force它是否只是执行并继续前进.
只是做Get-Process工作,我可以看到它,但我不能用PowerShell结束它.经过多次尝试,我远程登录到服务器,只需右键单击该过程并选择"结束任务"即可.
这是一个奇怪的过程,因为它是初始8中的一个(基于核心),当您停止服务时,除了一个进程之外的所有进程都将被删除,除了挂起的进程.